struts1 乱码问题
我用 ActionForm 取到页面的属性值。
在Action中使用这些属性值同数据库比较时。取得的中文是乱码。
我使用了filter 也不行,如下
package com.contract.filter;
import
java.io.IOException;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
import
javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.ServletResponse;
public class SetCharacterEncodingFilter implements Filter {
public void destroy() {
}
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws
IOException,
ServletException {
request.setCharacterEncoding("gb2312");
response.setCharacterEncoding("gb2312");
chain.doFilter(request, response);
}
public void init(FilterConfig arg0) throws ServletException {
}
}
xml配置
<filter>
<filter-name>encodeFilter</filter-name>
<filter-class>com.contract.filter.SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>encodeFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
------解决方案--------------------是数据库中取出来的乱码呀,还是页面上获取之后显示的是乱码呀?
------解决方案--------------------说的太迷糊了
不过我想应该是页面的传过来的是乱码
用 String newText = new String("乱码".getBytes("ISO-8859-1"), "GBK");
------解决方案--------------------乱码,用filter解决呀,页面、源文件、工程编码要一致!
------解决方案--------------------数据库的编码不一致