|
天堂之光 人间希望
你我共同品味
JAVA的浓香.
Linux的清芬. |
| « | February 2026 | » | | 日 | 一 | 二 | 三 | 四 | 五 | 六 | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | |
| 链接 |
联系我
msn:zhanglincon@hotmail.com |
| Blog信息 |
|
blog名称: 日志总数:99 评论数量:281 留言数量:4 访问次数:820185 建立时间:2005年11月17日 |

| |
|
[Tomcat]Tomcat5.0——5.5的中文问题解决之道 原创空间, 软件技术
zhanglincon 发表于 2005/12/14 15:58:41 |
|
在 Tomcat 4.x 時代,无论submit 时采用get or post,还是在url后面直接带参数Tomcat server 对parameters 的处理都采用相同的编码,但在 Tomcat 5.x 版,不知何故,却将QueryString 的解析独立出來,目前确认,Form 的 Method 采用 GET 及直接将参数写在 URL 上的中文,上传到 Tomcat 时,无论如何转码,都会变成乱码,哪怕你事先作过 URLEncode 也一样。所以要想在你的Web应用中解决乱码问题要分以下两步来做。 解决办法:(1),针对form submit中post的方法时,用过滤器对数据重新编码,操作步骤如下:只要把%TOMCAT安装目录%/ webapps\servlets-examples\WEB-INF\classes\filters\SetCharacterEncodingFilter.class文件拷到你的webapp目录/filters下,如果没有filters目录,就创建一个。然后在你的web.xml里加入如下几行:
<filter> <filter-name>Set Character Encoding</filter-name> <filter-class>filters.SetCharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </init-param> </filter> <filter-mapping> <filter-name>Set Character Encoding</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>如果要了解关于用过滤器重新编码,验证登陆,记录系统日志等问题请关注《Servlet2.3过滤器编程》一文http://blogger.org.cn/blog/more.asp?name=zhanglincon&id=10019和《祥解web应用过滤器》一文(2),get方式的及直接将参数写在 URL 上的中文,打开tomcat的server.xml文件,找到<connector>元素,添加 URIEncoding=”GBK”属性<Connector port="80" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="GBK"/>
重启Tomcat就OK了!
|
|
|