红联Linux门户
Linux帮助

Ubuntu16.04中MySQL之中文不能插入问题

发布时间:2017-06-22 09:17:42来源:linux网站作者:凡人
在学习MySQL时,向表中插入一条数据含有中文,结果报错如下:
ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xA2\x81\xE7\x92\x90…’
 
经过多次寻找,大致明白了原因是编码的问题。
进入MySQL终端,输入show variables like 'character%';显示如下:
Ubuntu16.04中MySQL之中文不能插入问题
 
如上部分(character_set_database | latin1、character_set_server | latin1)就是不能正常显示的原因,需要将编码格式更改为utf8格式,修改过程如下:
修改MySQL的配置文件
sudo vim /etc/mysql/conf.d/mysql.cnf
 
我修改之后的配置文件如下所示:
[mysql]
no-auto-rehash
default-character-set=utf8
[mysqld]
socket = /var/run/mysqld.sock
port =3306
character-set-server=utf8
 
之后需要再重启一下MySQL,即可成功。
service mysql restart;
 
但是原有的数据库还是不能插入中文,因为它们的编码格式仍然不是utf8。
 
本文永久更新地址:http://www.linuxdiyf.com/linux/31651.html