容易出现乱码的地方一般有三个地方:
a.页面出现乱码
b.传递参数出现乱码
c.资源文件出现乱码
对应的解决方法:
a.一般都是在页面统一编码为utf-8就行了:加上一名pageEncoding=utf8.
b.要修改Tomcat下的server.xml文件,在里面加上URIEncoding=utf-8,然后再在web.xml文件里面定义过滤器.
# 在Tomcat的conf文件夹下的server.xml文件里的大概50行左右:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" URIEncoding="UTF-8"/>
# 添加一个过滤器filter类,该类实现了Filter接口,我们只需要在它的doFilter()方法里面添加两句代码就行了,然后再到
web.xml文件里面添加这个过滤器:
过滤器用到的Filter类:
public class CharactorEncodingFilter implements Filter {
@Override
public void destroy() {
// TODO Auto-generated method stub
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
// TODO Auto-generated method stub
request.setCharacterEncoding("utf-8");
chain.doFilter(request, response); //添加这两代码就行了...
}
@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}
}
web.xml文件添加的语句:
<filter>
<filter-name>CharacterEncoding</filter-name>
<filter-class>com.jie.base.CharactorEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>CharacterEncoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
c.用JDK自带的native2ascii.exe进行编码的转换,或者添加一个叫ResourceBoudle 的插件帮助解决(没用过这个插件)
推荐使用第二种方法:安装ResourceBundle Editor插件后,操作很方便.