使用Unicode调用JQuery AJAX。发布Unicode数据的正确方法?
我有一个将AJAX发布到服务器的页面,数据通常是Unicode 这在大多数情况下都是有效的,但有时它似乎会崩溃,而我似乎在任何地方都找不到答案。我一直在使用encodeURI,但我不确定这是否正确 下面是一个代码示例:使用Unicode调用JQuery AJAX。发布Unicode数据的正确方法?,jquery,ajax,unicode,Jquery,Ajax,Unicode,我有一个将AJAX发布到服务器的页面,数据通常是Unicode 这在大多数情况下都是有效的,但有时它似乎会崩溃,而我似乎在任何地方都找不到答案。我一直在使用encodeURI,但我不确定这是否正确 下面是一个代码示例: $.ajax({ type: "POST", url: "SomePage.php", data: "val1=" + encodeURI(unicodeVariable) + "&presentation=" + enc
$.ajax({
type: "POST",
url: "SomePage.php",
data: "val1=" + encodeURI(unicodeVariable) + "&presentation=" + encodeURI(someUnicodeVariable),
success: function(msg){
}
});
我猜有时Unicode字符包含一个&这就破坏了它
使用JQuery为AJAX调用编码Unicode的正确方法是什么
谢谢。这里有一个比较所有编码方法的好方法
最后,encodeURIComponent()
方法在大多数情况下都应该使用
当对单个组件进行编码时
乌里。此方法将对某些
通常是
被认为是URI的特殊字符
因此,许多组件可能
包括。请注意,此方法不支持
不编码“字符”,因为它是
URI中的有效字符
encodeURIComponent()还对“&”符号进行编码:
或者,您可以仅转换此行:
data: "val1=" + encodeURI(unicodeVariable) + "&presentation=" + encodeURI(someUnicodeVariable),
进入一个对象:
data: {
val1: unicodeVariable,
presentation: someUnicodeVariable
}
jQuery将使用encodeURIComponent()自动确保对数据进行编码。看起来像是将其更改为对象,并确保编码设置为UTF-8。现在我需要做的就是找出为什么mdash字符不能正确地存储在MySQL中。@ryTransmish我意识到这是3年前的事了,但是你最终解决了这个问题吗?我正在处理类似的事情
data: {
val1: unicodeVariable,
presentation: someUnicodeVariable
}