myeclipse mysql 乱码_MYECLIPSE MYSQL 中文乱码问题

解决Mysql5.0数据库中文乱码三个步骤2009年6月26日星期五 在系统中用到了mysql数据库,开发语言java。在系统中遇到了中文乱码问题。mysql把它的默认编码变成了latinl字符集了。现在让我们看看自己的数据库的各个部分的编码:进入命令行;SHOW VARIABLES LIKE 'character_set_%';可以查看数据库编码。这是我改后的数据库编码,没改的里面有部分是latin1的字符编码。如果没有改变的话它会是latinl的而不是utf8的。这是为什么呢?(1)、首先把你的jsp页面编码改成UTF-8的。A、B、在Hibernate.cfg.xml中的连接字符串中加上 【?useUnicode=true&characterEncoding=utf8】例如:jdbc:mysql://localhost:3306/online?useUnicode=true&characterEncoding=utf8C、打开mysql的安装目录,我的在:C:/Program Files/MySQL/MySQL Server 5.0打开:my.ini文件修改里面的默认编码:default-character-set=latinl 为default-character-set=gbk,一共有两处。必须重新启动mysql。注意:如果之前用latin1把数据库导出为SQL语句的话,需要的那个mysql.sql文件中将所有的的latin1改为数据库默认的编码,也就是我们刚改的gbk.(3)、然后加上过滤器,过滤器的代码如下:package com.online.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 {protected String encoding = null;protected FilterConfig filterConfig = null;protected boolean ignore = true;public void init(FilterConfig filterConfig) throws ServletException{this.filterConfig = filterConfig;this.encoding = filterConfig.getInitParameter("encoding");String value = filterConfig.getInitParameter("ignore");if (value == null){this.ignore = true;}else if (value.equalsIgnoreCase("true")){this.ignore = true;}else if (value.equalsIgnoreCase("yes")){this.ignore = true;}else{this.ignore = false;}}public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain)throws IOException, ServletException{if (ignore || (request.getCharacterEncoding() == null)){String encoding = selectEncoding(request);if (encoding != null)request.setCharacterEncoding(encoding);}chain.doFilter(request, response);}public void destroy(){this.encoding = null;this.filterConfig = null;}protected String selectEncoding(ServletRequest request){return (this.encoding);}}(3)、在web.xml中的配置:Set Character Encodingcom.online.filter.SetCharacterEncodingFilterencodingUTF-8ignoretrueSet Character Encodingaction配置好以后别的什么处理乱码的工作都不用做了,个人认为是万能的。现在一切搞定。再不会有中文乱码了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值