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的),但是最后还是乱码,我回天乏术了,哎,这究竟是怎么回事啊? 展开
 我来答
jerome988
2009-06-14
知道答主
回答量:3
采纳率:0%
帮助的人:3.3万
展开全部
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>

这样乱码的问题应该就解决了~
kingofjason
2009-06-14 · TA获得超过169个赞
知道小有建树答主
回答量:360
采纳率:0%
帮助的人:0
展开全部
你改成UTF-8多国语言看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式