JSON.stringify 方法在IE8中,中文转成Unicode码解决方案
最近用json2.js来做客户端的JSON提交,使用了JSON.stringify()方法,结果发送到服务器端的Json里的中文变成了乱码.
查了一下资料才知道IE8支持原生的JSON对象,自带了JSON.parse与JSON.stringify两个方法。当我使用json2里的Json.stringify方法里IE默认调用了IE8的stringify方法进行了uncode编码,致使传到服务器后中文变成了乱码。
解决办法1:把Json2.js里的JSON改下名称,改成JSON2,这样调用:JSON2.stringify();
解决办法2: 利用Js方法将JS unicode码转换成GB2312的汉字;
1 var GB2312UnicodeConverter = { 2 ToUnicode: function (str) { 3 return escape(str).toLocaleLowerCase().replace(/%u/gi, '\\u'); 4 } 5 , ToGB2312: function (str) { 6 return unescape(str.replace(/\\u/gi, '%u')); 7 } 8 }; 9 10 GB2312UnicodeConverter.ToGB2312(JSON.stringify(queItem.attachInfo))
GB2312UnicodeConverter JS方法转载楚广明老师:
http://www.cnblogs.com/chu888chu888/archive/2012/02/15/2352169.html

浙公网安备 33010602011771号