1.進入mysql,輸入show variables like 'character%';
查看當前字符集編碼狀況,顯示以下:html
其中,character_set_client爲客戶端編碼方式;mysql
character_set_connection爲創建鏈接使用的編碼;sql
character_set_database數據庫的編碼;數據庫
character_set_results結果集的編碼;服務器
character_set_server數據庫服務器的編碼;編碼
只要保證以上四個採用的編碼方式同樣,就不會出現亂碼問題。spa
2.修改數據庫的編碼格式.net
方法一:命令爲:set character% = utf8;code
例如:set character_set_client =utf8;server
可是這個修改只是暫時的,限於當前會話,一旦數據庫退出,就會失效
方法二:修改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章:字符集支持)。