乱码问题,一直以来让很多程序员比较头痛 ,关于乱码问题很多文章里都有介绍,也不必累赘。基本概念在:http://www.tingko.net/School/java/20139.htmlhttp://www.tingko.net/School/java/20140.html里面描述的很清楚,而且提供了一套解决方案,对系统掌握编码问题很有帮助。
本文着重讨论Windows环境下:
TOMCAT + STRUTS + JSP 模式下URL日文乱码的处理。
解决方案竟然只是在 Server.xml里面加上URIEncoding,就可以了
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="Windows-31J" />
但是这种改法在linux下面是否有效果,还需要实验.
websphere下面如何配置,解决乱码问题,还需要再讨论,这篇文章先放在这里以供参考
// ===================2007/02/13 追加 ==================websphere怎么办?
服务器是使用ISO-8859-1编码来处理url的,这样自然会出现问题.能找到的解决方法是,通过服务器JVM的启动参数,如加上-Duser.language=zh -Duser.region=CN -Dfile.encoding=UTF-8 -Dclient.override.encoding=UTF-8来设置.而这样似乎不是一个很好的解决方案. 因为它太依赖服务器的配置. 部署到不同服务器, 可能出现不一致的结果. 所以,这个问题应该尽量避免.
有人说:只要在页面上使用JavaScript的URLEncode()函数先对URL进行编码就没问题了。
我尝试过了,在tomcat的环境下面,仅仅使用 String ustr1 = URLEncoder.encode(str,"Windows-31J") 并没有什么效果。