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

2015-11-10 12:16:18 · 作者: · 浏览: 2

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


查看字符集


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


--------------------------------------分割线 --------------------------------------


解决步骤现总结如下:


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%' , 结果如图:


重启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 查看建表语句可知


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