Tomcat中文编码问题解决方案(简)
liyonghai 04/08/30
编码问题的根源可参考:http://www-900.ibm.com/developerWorks/cn/java/java_chinese/index.shtml
Tomcat 4.x解决方法: 获取中文:request.setCharacterEncoding("gb2312"); 输出中文:<%@ page contentType="text/html;charset=gb2312" %>,必要时需要转码
Tomcat 5.x解决方法: 获取中文: 提交表单时 1)post:request.setCharacterEncoding("gb2312"); 2)get:修改server.xml,在Connector中加入URIEncoding="gb2312" 如: <Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="gb2312" /> 或者使用useBodyEncodingForURI,使tomcat 5.x兼容tomcat 4.x 输出中文:<%@ page contentType="text/html;charset=gb2312" %>,必要时需要转码
附:Tomcat 5.x与Tomcat 4.x在解析提交表单时发生了变化,Tomcat 4.x无论是post还是get,都使用 相同的编码,而Tomcat 5.x 却把get方法单独了出来.具体可查看tomcat的source code.
|