1. 程式人生 > >Ubuntu 16.04 MySQL 5.7解決中文亂碼問題

Ubuntu 16.04 MySQL 5.7解決中文亂碼問題

        作為一個初學者,我最近在用scrapy爬頂點小說,得到的資料想存到mysql裡面,所以又折騰了一下mysql的配置。結果發現mysql想來對中文都不友好, 只能修改my.cnf使得預設編碼方式為utf8。關於具體的配置,網上各種各樣的部落格都講的比較詳細了,我整理了一個精簡版,主要是針對Ubuntu16.04 & MySQL5.7(因為不同版本的mysql的my.cnf或my.ini的位置都不確定)。

        1. 因為mysqld.cnf, 和/etc/mysql/目錄下的my.cnf中都寫了可以用mysqld.cnf覆蓋掉my.cnf.

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

        2. 修改/etc/mysql/my.cnf。

主要是插入一段:

[client]

default-character-set = utf8

並且在[mysqld]新增一行

character-set-server = utf8

最後重啟mysql

service mysql restart

PS: 要想成功地寫入中文,必須確保資料庫是修改完編碼方式之後建立的。如果是之前建立的資料庫, 在重啟之後你會發現中文仍然是???,即使restart了也沒有用。切記重建資料庫,筆者當初就是卡在這裡,還思考了很久到底哪裡錯了。。。