日期:2014-05-16  浏览次数:20920 次

【转】Jquery Ajax实现时乱码有关问题解决方案——escape和unescape

Jquery Ajax实现时乱码问题解决方案——escape和unescape
?
我的整个项目是utf-8编码方式,但是在提交ajax时还会出现乱码,让我十分不解,纠结了好几天。无意间在将escape 和unescape同时在页面上用力,居然乱码不乱了,欣喜啊
字符值大于 255 的以 %uxxxx 格式存储。

?? unescape函数
?? 解码用 escape 方法进行了编码的 String 对象。

??? unescape 方法返回一个包含 charstring 内容的字符串值。所有以 %xx 十六进制形式编码的字符都用 ASCII 字符集中等价的字符代替。

以 %uxxxx 格式(Unicode 字符)编码的字符用十六进制编码 xxxx 的 Unicode 字符代替.

? 2 在获取dom对象值时,使用escape
??
?? //
??? var a=escape(document.getElementById("a").value)
?? //
??? var url="ajax.action?a="+a;

? 3 重点啦? 在提交ajax前,需要对url使用unescape //
???? url =unescape(url);
//将文本框 中的数据发送到页面上
?????????? $.ajax({
??????????????? url: url,
??????????????? dataType: 'json',
????????????? //网上资料在此处设置编码方式? 别忘,号
??????????????? contentType: application/x-www-form-urlencoded; charset=UTF-8,??????????????? success: handle
????????????? });
??????????
???????? }

?

转自:http://www.aiyiweb.com/ajax/418896.html