GBK格式query ajax 奇数中文乱码解决方案
问题: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行业混了。
相关推荐
结束数据方法的参数,该如何定义?-- 集合为自定义实体类中的结合属性,有几个实体类,改变下标就行了。<input id="add" type="button" value="新增visitor&quo