1.進入mysql,輸入show variables like 'character%';
查看當前字符集編碼情況,顯示如下:
其中,character_set_client為客戶端編碼方式;
character_set_connection為建立連接使用的編碼;
character_set_database數據庫的編碼;
character_set_results結果集的編碼;
character_set_server數據庫服務器的編碼;
只要保證以上四個采用的編碼方式一樣,就不會出現亂碼問題。
2.修改數據庫的編碼格式
方法一:命令為:set character% = utf8;
例如:set character_set_client =utf8;
但是這個修改只是暫時的,限於當前會話,一旦數據庫退出,就會失效
方法二:修改my.cnf文件
命令:vi /etc/my.cnf(提示:my.cnf文件的具體位置因安裝版本或系統而異)
找到[client] 添加:
default-character-set=utf8
找到[mysqld] 添加:
default-character-set=utf8
然后重啟mysql服務。
但是,此時發現,mysql根本無法啟動
解決方法:重新打開my.cnf文件,
找到[mysqld] :
將default-character-set=utf8 改成 character-set-server=utf8
重新啟動mysql,再次登陸mysql,輸入命令:show variables like 'character%';查看編碼,發現編碼已改變為utf8
附:
MySQL字符集的原理介紹。摘錄於官方文檔。http://dev.mysql.com/doc/refman/5.1/zh/charset.html
關於字符集的詳細介紹和例子:
http://dev.mysql.com/doc/refman/5.1/zh/charset.html (第10章:字符集支持)。