红联Linux门户
Linux帮助

Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法

发布时间:2015-09-19 10:25:53来源:linux网站作者:linuxliu

Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法,apt-get install 安装的,不是源码包安装的mysql。


1.修改mysql的配置文件

/etc/mysql/conf.d/mysql.cnf

在[mysql]的下方加入如下语句:(注:这个文件下没有配置,只有【mysql】)

no-auto-rehash
default-character-set=utf8

/etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]下加入

socket = /var/run/mysqld/mysqld.sock
port = 3306
character-set-server=utf8 (这里是server,之前有的版本是set)

重启mysql: sudo /etc/init.d/mysql restart


查看字符集
mysql> show variables like '%char%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client    | utf8                      |
| character_set_connection | utf8                      |
| character_set_database  | utf8                      |
| character_set_filesystem | binary                    |
| character_set_results    | utf8                      |
| character_set_server    | utf8                      |
| character_set_system    | utf8                      |
| character_sets_dir      | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

设置之后如果之前的数据库已经创建了,只能删除重新创建了。


解决步骤现总结如下:

1.修改mysql的配置文件

/etc/mysql/conf.d/mysql.cnf

在[mysql]的下方加入如下语句:

no-auto-rehash
default-character-set=utf8

/etc/mysql/mysql.conf.d/mysqld.cnf

在[mysqld]下加入

socket       = /var/run/mysqld/mysqld.sock
port       = 3306
character-set-server=utf8 等内容,自行对比,有的就不用加了,一般只需要加入 character-set-server=utf8

这时候shell 进入mysql,执行:show variables like 'character%' , 结果如图:

Ubuntu 15.04下MySQL 5.6.25不支持中文解决办法

重启mysql: sudo /etc/init.d/mysql restart

Error Code: 1366. Incorrect string value: '\xE5\xBC\xA0\xE4\xB8\x89' for column 'ename' at row 1

这是因为该表的字符集不支持中文所致,执行show create table  new_table 查看建表语句可知

解决办法:将该表删除,新建,支持中文的关键在于建表选择的字符集。


Ununtu 15.04安装MySql(Django连接Mysql):http://www.linuxdiyf.com/linux/13783.html

fedora下mysql不能显示中文:http://www.linuxdiyf.com/linux/13331.html

Ubuntu15.04下MySQL5.6安装过程:http://www.linuxdiyf.com/linux/13250.html

解决MySQL中文乱码的问题:http://www.linuxdiyf.com/linux/12305.html

MySQL设置数据库的默认编码:http://www.linuxdiyf.com/linux/11889.html