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 

posted @ 2014-07-27 19:54  xakoy  阅读(532)  评论(0)    收藏  举报