使用的环境:tomcat5.5,ext2.0,编码全是utf-8,包括eclipse中js,jsp文件的编码
在表单输入中含有中文和URI中含中文,都会出现乱码..但这两种情况的是不一样的..所以要分清楚..
1.URI中含中文
经过多次实验,发现用URI包含中文时,必须使用encodeURI或encodeURIComponent,否则无论后台怎么处理都会是乱码.
其中encodeURI可以对整个URI进行编码的转换;而encodeURIComponent只能对单个,否则URI中的/也会被转换.
当使用了encodeURI时,如果在tomcat的Connector中设置URIEncoding="UTF-8",在后台可以直接用request.getParameter()取值,不需要进行转换.
如果没有在tomcat中设置URIEncoding,则需要使用new String(req.getParameter("a").getBytes("ISO-8859-1"), "utf-8")进行转码.因为tomcat默认的编码是ISO-8859-1.
2.通过表单方式(使用的是Ext.form.FormPanel)
tomcat中是否设置URIEncoding,都没有用..需要在后台使用new String(req.getParameter("a").getBytes("ISO-8859-1"), "utf-8")进行转码.
可能需要在js添加Ext.lib.Ajax.defaultPostHeader = Ext.lib.Ajax.defaultPostHeader + ";utf-8"。
因为一开始遇到一个奇怪的情况,在表单中输入中文,提交时ext js中就报错..后来改了很多地方就好了。。等我把改的都还原回去以后,竟然没有问题了。。也没有加defaultPostHeader。怀疑是js文件的编码格式的问题。
需要注意的是action使用response返回json给ext时,也要使用"中文".getBytes("utf-8");否则会报js错误。
分享到:
相关推荐
中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析中文乱码问题分析
struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结struts处理中文乱码问题总结
中文乱码问题整理总结 通过平时开发实践,总结的乱码问题.
Java开发乱码问题解决方法: 以下是个人知道的方法汇总
设置乱码问题,设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题设置乱码问题
html页面乱码问题总结,总结了常见的html乱码问题。
最近发现乱码问题很烦,找了许多资料,自己总结了一些东西,主要是web页面的乱码,请大家指正
JAVA 乱码问题,JAVA 乱码问题,JAVA 乱码问题JAVA 乱码问题JAVA 乱码问题JAVA 乱码问题
qt乱码问题解决
中文乱码处理问题总结,针对一些容易乱码的地方进行讲解。
Ajax中文乱码问题解决方案
解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码问题,添加中文支持解决linux下oracle中文乱码...
web项目中中文乱码问题总结,几解决方法。
myeclipse中文乱码问题 myeclipse中文乱码问题myeclipse中文乱码问题myeclipse中文乱码问题myeclipse中文乱码问题myeclipse中文乱码问题myeclipse中文乱码问题
java中文乱码问题详解--- java中文乱码问题详
Ajax uri 乱码问题总结
Ajax 中文乱码问题 Ajax 中文乱码问题 Ajax 中文乱码问题
乱码解决 乱码解决 乱码解决 乱码解决 乱码解决 乱码解决 乱码解决
mysql乱码问题解决mysql乱码问题解决mysql乱码问题解决