mysql怎样存储中文_mysql 存储中文问题

mysql中的存储中文的问题解决方法

前些时候的做过一个实训是关于mvc的一个网站,其中遇到了很多问题因为时间的原因,把这些问题给省略掉了,最近又碰到了这些问题,这次无论怎样都要把问题解决掉一个是mysql存储中文的问题(在库中显示的是????),我相信大部分人的问题应该都是这样子的....

现在我把我的解决方法总结一下(当人也是从网上看一些大侠们的方法,加上自己的感想,如有雷同,敬请谅解)。

第一,编码的问题是首当其冲要解决的,我个人的用的是utf-8的(gbk的没有试过)。

先要把你的mysql的编码设置为UTF-8。

如果想方便的话可以在mysql的根目录下找到    my.ini  陪置文件,把[mysql]    default-character-set=编码。中的编码改成utf8(注意是utf8不是utf-8)。

第二,然后在连接数据库的时候,代码后面加上useUnicode=true&characterEncoding=utf-8,格式为

DriverManager.getConnection( "jdbc:mysql://localhost/test?useUnicode=true&characterEncoding=utf-8",user,password);这样做的目的是连接数据的时候都是采用utf-8的形式。

第三,设置过滤器。

importjava.io.IOException;

importjavax.servlet.Filter;

importjavax.servlet.FilterChain;

importjavax.servlet.FilterConfig;

importjavax.servlet.ServletException;

importjavax.servlet.ServletRequest;

importjavax.servlet.ServletResponse;

publicclassSetCharacterEncodingFilterimplementsFilter {

protectedString encoding =null;

protectedFilterConfig filterConfig =null;

publicvoidinit(FilterConfig filterConfig)throwsServletException {

this.filterConfig = filterConfig;

this.encoding = filterConfig.getInitParameter("encoding");

}

publicvoiddoFilter(ServletRequest request, ServletResponse response,

FilterChain chain) throwsIOException, ServletException {

request.setCharacterEncoding("UTF-8");

System.out.println("执行");

chain.doFilter(request, response);

}

publicvoiddestroy() {

this.encoding =null;

this.filterConfig =null;

}

protectedString selectEncoding(ServletRequest request) {

return(this.encoding);

}

}

然后就是在web。xml文件中配置(现在的tomcat版本,可以自动检查是够更新,所以不用重启,稍等片刻就可以了)

Set Character Encoding

com.bean.SetCharacterEncodingFilter

encoding

UTF-8

Set Character Encoding

/*

如果还不能解决的,你可以给我留言,咱们共同解决,如果有什么不对的地方,请各位指出,咱们共同探讨....

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值