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

来源:互联网 发布:孤岛惊魂3优化 编辑:程序博客网 时间:2024/06/06 10:45

今天下午在学习MySQL时,向表中插入一条数据含有中文,结果报错如下,
ERROR 1366 (HY000): Incorrect string value: ‘\xE8\xA2\x81\xE7\x92\x90…’
经过多次寻找度娘,大致明白了原因是编码的问题。
进入MySQL终端,输入show variables like 'character%';显示如下:
Variable_name | Value |
+————————–+—————————-+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+————————–+—————————-+
加黑部分就是不能正常显示的原因,需要将编码格式更改为utf8格式,修改过程如下:
修改MySQL的配置文件

sudo vim /etc/mysql/conf.d/mysql.cnf

我修改之后的配置文件如下所示:

[mysql]no-auto-rehashdefault-character-set=utf8[mysqld]socket = /var/run/mysqld.sockport =3306character-set-server=utf8

摘抄自百度,之后需要再重启一下MySQL,即可成功。

 service mysql restart;

但是原有的数据库还是不能插入中文,因为它们的编码格式仍然不是utf8.

此外,今天下午还学到了如何查找执行的位置,顺便记录下来
以寻找启动Firefox为例
1、终端输入 type/which firefox即可,会显示出:
firefox 是 /usr/bin/firefox。
收获颇多~~~

0 0