關于linux下mysql數(shù)據(jù)庫中文亂碼的解決方法
mysql的默認編碼是latinl不支持中文,進入mysql數(shù)據(jù)庫,可以使用命令show variables like '%char%
去查看mysql數(shù)據(jù)庫的的編碼格式赞辩。
我在這個問題上碰到的誤區(qū)
在登錄了mysql后闹获,使用set names utf8
對mysql數(shù)據(jù)庫的編碼格式設置為utf8熊痴,從而來解決中文亂碼的問題先较。
首先set names utf8
能夠改變數(shù)據(jù)庫編碼格式:
但是這能對當前登錄有效而已。所以要真正解決中文亂碼盒刚,使用set names
命令不能有效的解決這個問題顾犹。
真正解決中文亂碼的有效方法
首先的停止mysql的運行,進入/etc/init.d目錄下使用命令service mysqld stop
來停止mysql服務倒庵。
然后修改mysql配置文件my.cnf
在my.cnf文件中的[mysqld]下添加default-character-set=utf8
(默認字符集為utf8),在添加init_connect='SET NAMES utf8'
(設定連接mysql數(shù)據(jù)庫時使用utf8編碼格式)蹦渣。
在my.cnf文件中的[client]下添加default-character-set=utf8
修改好后,啟動啟動mysql即可貌亭。然后再進入mysql中使用show variables like '%char%'
去查看mysql編碼格式:
這樣就已經(jīng)完美解決了在linux下mysql數(shù)據(jù)庫中文亂碼的問題柬唯。