试了所有朋友们所有的转码方法,还是乱码
把tomcat4升级到tocmat5,把mysql4升级到mysql5,出现了中文乱码。
数据库中的编码是ISO-8859-1编码
我配置了文件web.xml,用的是TOMCAT5自身的SetCharacterEncodingFilter.class
<filter>
<filter-name>SetCharacter Encoding Filter</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>SetCharacter Encoding Filter</filter-name>
<url-pattern>*.jsp</url-pattern>
</filter-mapping>
其中在<param-value>GBK</param-value>中,作了多种尝试,<param-value>GB2312</param-value>
<param-value>ISO-8859-1</param-value>都没有解决乱码问题。
每个页面都是<%@ page contentType="text/html; charset=GBK" %>
如果我把从数据库中的数据进行getBytes("iso-8859-1",GBK)转码,那么页面就能正常显示。
因为程序是早已写好的,几千个页面,我不可能一个个去修改。
程序在tomcat4下是正常显示的。