mysql 顯示中文問題

從網(wǎng)上查找資料都說是要配置 sudo vi /etc/mysql/my.cn,但是打開文件之后是這樣的:

Screenshot from 2017-02-14 13-10-25.png

  原來的配置文件變成了包含目錄結(jié)構(gòu),于是在上面提到的兩個目錄里找找,很快就能找到配置文件原來是:/etc/mysql/mysql.conf.d/mysqld.cnf

用管理員權(quán)限編輯: sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf,打開后時這樣的:

Screenshot from 2017-02-14 13-13-21.png

在[mysqld]下面添加:

character-set-server=utf8

而不是:

default-character-set=utf8

:wq保存后,重啟MySQL服務(wù):

service mysql restart
在mysql的shell交互中輸入:
show variables like 'character%';
顯示如下:

Screenshot from 2017-02-14 13-21-01.png

但是還是無法插入中文。
mysql> insert into users values(88,'中文');   ERROR 1366 (HY000): Incorrect string value: '\xD6\xD0\xCE\xC4' for column 'username' at row 1
這時嘗試更改users表的username的字符集。
 mysql> alter table users modify username char(20) character set gbk;   ERROR 1366 (HY000): Incorrect string value: '\xC0\xEE\xCB\xC4' for column 'username' at row 1
因為表中已經(jīng)有數(shù)據(jù),所以更改username字符集的操作沒有成功
清空users表中的數(shù)據(jù)

清空表中數(shù)據(jù):
mysql> truncate table users;   Query OK, 3 rows affected (0.01 sec)
從新更改user表中username的字符集
  mysql> alter table users modify username char(20) character set gbk;
  Query OK, 0 rows affected (0.06 sec)
  Records: 0 Duplicates: 0 Warnings: 0

這時再插入中文字符,插入成功。
 ```
 mysql> insert into users values(88,'中文');
  Query OK, 1 row affected (0.01 sec)
mysql> select * from users;
  +--------+----------+
  | userid | username |
  +--------+----------+
  | 88 | 中文 |
  +--------+----------+
  1 row in set (0.00 sec)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容