一些中文乱码解决方案分享
前阵子开发个struts+mysql的项目,遇到一些中文乱码问题,我在网上找了一些资料,特意分享一下
中文存入乱码
1. 页面的属性写utf-8;charset=utf-8" pageEncoding="utf-8"
2. 加过滤器:
Java类:
package dao;
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("utf-8");
chain.doFilter(request, response);
}
public void init(FilterConfig filterConfig) throws ServletException {
}
}
Xml配置(注意:filter配置要写struts前面,否则不会生效):
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>dao.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
中文存入数据库乱码
1. 数据库编码utf-8 保持一致
2. 设置mysql配置文件:my.ini。 修改default-character-set=gbk
在myeclipse中查看jsp文件的时候,jsp中的中文无法正常显示,乱码!!
jsp页面显示乱码
在myeclipse中右键点击乱码的jsp文件,选择properties,在text file encoding中选择Other,在下拉框中选择utf-8,然后OK,搞定!