领取MOLI红包

jquery中文乱码的多种解决方法

发布日期:2025-01-03 19:11    点击次数:178
1、使用$.ajax出现的中文乱码的解决方案: 其中当使用dataUrl中的&方式提交时,无论前台是使用encodeURI或者encodeURIComponent又或者escape把中文转码,提交到Action中都是乱码,并不是想要的汉字这种转后编码。即使加上contentType也不行。 把dataUrl中的&方式提交修改为data:{name:value}的方式提交即可。 在Action中使用URLDecoder.decode(realname, "UTF-8")来转码即可转换为中文了。使用UTF-8是因为Jquery的提交方式默认为UTF-8,即使把contentType中的charset修改其他,例如GBK,后台也把UTF-8修改GBK,都不能正确转换。 jQuery ajax乱码问题解决一、测试环境jQuery:1.3.2tomcat:5.5.17二、测试方法1.使用get方式服务器端java代码:客户端js代码:结果:正确显示结果:乱码结果:正确显示结果:乱码 2.post方式服务器端java代码:客户端js代码:结果:正确显示 结果:正确显示结果:正确显示结果:正确显示三、使用filterjQuery在使用ajax的时候会在header中加入X-Requested-With,值为:XMLHttpRequest,filter中判断是jQuery的ajax请求时就把字符编码设为utf8,这样可以解决post提交中的中文乱码问题,不需要在代码中设置request.setCharacterEncoding("UTF-8");对于get方式的中文乱码问题,建议不使用get方式提交中文,统统改为post ^-^为了和prototype.js处理中文的方式一致,可以使用如下的方式,自定义header中的属性RequestTypefilter代码如下: