奇怪的struts2的中文乱码问题及解决

最近在写一个小东西的时候,采用现在最流行的struts2+ibatis+spring的架构开发

在开发到最后的时候,测试发现在IE上的请求出现了中文乱码,开发测试一般是用FF。

 

这个比较搞,我从学校毕业以来就没有碰到过中文乱码,而且一直保持着数据库编码+开发文件编码+网页content_type编码一致的习惯,怎么可能出现中文乱码。。。。。。

而且只出现在IE浏览器,FF和chrome正常。。。。这个就排除了前面设置的编码的问题。。。。

 

看到现象,我最先怀疑的是IE和FF的不兼容,经过IE上的F12开发工具的调试,发现IE上的中文传输是正常的,firebug的中文也是正常的,那为啥在IE上会有中文问题,在FF上没有???

 

经过多次我才发现,IE在处理ajax请求的时候,会把请求中的中文处理成unicode编码,也就是变成 \u6d88\u8d39\u6b21\u6570的格式,而FF不会。难道是这个问题造成的中文乱码。。。。。。。。。。

 

由于我的ajax请求中传输的json参数,后台程序采用的struts2中自带的json插件解析的

经过调试发现解析,struts自带的json插件解析的数据,会把IE传会的unicode编码当作普通字符串处理,而不会在转换后变成中文

DONE,问题找到了,当换成gson解析后,IE的中文问题解决

 

 提供一个IE中文乱码的另外一个思路吧,呵呵

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值