MySQL5.1下的中文乱码问题,开发环境是Struts1+Hibernate3
我用Struts1.2.9+Hibernate3+MySQL5.1开发一个很小的留言本项目,在网页上向mysql里插入数据,一开始都是乱码,后来我在网上查了一些资料,把m...
我用Struts1.2.9+Hibernate3+MySQL5.1开发一个很小的留言本项目,在网页上向mysql里插入数据,一开始都是乱码,后来我在网上查了一些资料,把mysql下的my.ini和数据文件夹里的db.opt文件中的default-character-set都设为了gbk(原来是lartin1的),但是最后还是乱码,我回天乏术了,哎,这究竟是怎么回事啊?
展开
2个回答
展开全部
1、所有的网页(html&JSP)编码都采用UTF-8,即pageEncoding="UTF-8"。
2、在src包下添加一个过滤器类,起名为SetCharacterEncodingFilter。内容如下,
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 {
}
}
3.在WEB-INF\web.xml里,在<web-app>和</web-app>之间的最后,添加如下语句,
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样乱码的问题应该就解决了~
2、在src包下添加一个过滤器类,起名为SetCharacterEncodingFilter。内容如下,
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 {
}
}
3.在WEB-INF\web.xml里,在<web-app>和</web-app>之间的最后,添加如下语句,
<filter>
<filter-name>SetCharacterEncodingFilter</filter-name>
<filter-class>SetCharacterEncodingFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>SetCharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
这样乱码的问题应该就解决了~
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询