美文网首页程序员
解决Mysql中文乱码:

解决Mysql中文乱码:

作者: 阿树 | 来源:发表于2014-06-14 19:17 被阅读357次

以基于Servlet+Mysql构建网站为例,网页/数据库出现中文乱码的原因:数据在流动的任意节点处,编码不一致,出现乱码。

数据流动的任意节点,分为两块,分别是Web和数据库:

  • Web:网页、Jsp页面、Java代码文件、Tomcat读取的web.xml
  • 数据库:Mysql的client/server/connection以及数据库/表/字段

要使乱码不出现,须使任意的数据节点编码一致,在此之前先了解以下知识:


在学习上面关于字符集以及编码的知识后,下面我们就谈谈如何解决Mysql中文乱码(Web方面的可以自行Google,大同小异)。

1.将mysql-version/support-files/my-default.cnf 复制一份到 /etc 下面,并改名为my.cnf (Window下叫my.ini)

2.「Mysql的client/server/connection以及数据库/表/字段」编码设置为utf8,添加以下内容至my.cnf中

[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
collation-server = utf8_unicode_ci  
init-connect='SET NAMES utf8'  
character-set-server = utf8  

4.重启Mysql,进入Mysql,输入show variables like 'char%’;

5.在保证所输入数据库的内容格式为utf8的情况下,一般可以解决Mysql中文乱码。

更多关于Mysql设置utf8,以及修改my.cnf的内容参见Stack Overflow上的讨论。

相关文章

网友评论

    本文标题:解决Mysql中文乱码:

    本文链接:https://www.haomeiwen.com/subject/zeqjtttx.html