GBK格式query ajax 奇数中文乱码解决方案

坚持着执着 2011-11-01

问题:jsp为GBK的编码格式,使用query的ajax提交中文参数数据,当是偶数中文的时候

正常,也不会出现乱码,当奇数的时候,最后一个中文字符会出现?的乱码,为解决这一问题,以便后来的入行者少走弯路给出一个答案。

具体为什么出现奇数乱码,我就不仔细数了,请参考:

看网上说了那么多这种问题,却很少有一个人说明解决方案?告诉后来的人答案改怎么解决?

好像都在讨论一个非常高深、玄乎、神秘的东西。可是都没有一个人明确的写一个实用好用的解决方案;

为了我自己以后方便查找,和大家分享一下我的方案,我就卖弄一下吧:

首先,前提是:统一编码格式为GBK,我想这是国内项目一项采用的格式。所以基于jsp格式也是GBK,我给出以下解决方案。

界面中:

varparam="我是中";//此处为奇数个数的中文汉字(3个)

$.ajax({

type:"post",

url:"xx.action",

data:{

"param":encodeURI(param)//此处用encodeURI转码

},

success:function(data){

alert("成功了");

}

});

后台代码中:

Stringparam;//对应的setget这个就不用说了吧。。

//这里用URLDecoder.decode转码.不乱奇数还是偶数汉字都不会乱码

Stringstr=URLDecoder.decode(param,"utf-8");

//在此时的str就是标准的格式啦不会出现乱码啦。

总结:

其实就是两行代码就搞定啦,整的好多貌似高人的人在那胡说八道。

"param":encodeURI(param)//界面代码

URLDecoder.decode(param,"utf-8");//javaaction中

以上说明和代码实例,若有人再看不懂或有疑问,我建议回家养猪,不要在IT行业混了。

相关推荐

mmywcoco / 0评论 2020-06-06