Ubuntu 16.04 MySQL 5.7解決中文亂碼問題
阿新 • • 發佈:2019-01-25
作為一個初學者,我最近在用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了也沒有用。切記重建資料庫,筆者當初就是卡在這裡,還思考了很久到底哪裡錯了。。。