mysql 中常常出現對中文支持不友好的情況常見的錯誤 “Illegal mix of collations for operation”
下面我們規整一下 mysql 數據庫中一共涉及到哪些字符集
character-set-server/default-character-set:服務器字符集,默認情況下所采用的
character-set-database:數據庫字符集
character-set-table:數據庫表字符集
一般情況下只需要設置character-set-server,而在創建數據庫和表時不特別指定字符集,這樣統一采用character-set-server字符集.
character-set-client:客戶端的字符集
character-set-results:結果字符集
在客戶端,如果沒有定義character-set-results,則采用character-set-client字符集作為默認的字符集
下面分享一個解決mysql 中文字符亂碼的解決方案:
修改mysql 配置
vim /etc/mysql/my.cnf
查找 “client” 一項:
上面黃色關鍵詞就是我們要找的 client, 緊接著在下面添加一行: default-character-set=utf8
保存退出配置文件.
然後關閉mysql服務,重新啟動.
/etc/init.d/mysql stop /etc/init.d/mysql start
然後我們進入 mysql ,查看字符集
mysql> show variables like 'character\_set\_%'; +--------------------------+--------+ | Variable_name | Value | +--------------------------+--------+ | character_set_client | utf8 | | character_set_connection | utf8 | | character_set_database | utf8 | | character_set_filesystem | binary | | character_set_results | utf8 | | character_set_server | utf8 | | character_set_system | utf8 | +--------------------------+--------+ 7 rows in set (0.00 sec)
上面結果可以看到字符集默認支持 utf8,我們在涉及到漢字的時候不會有亂碼的情況.
以上所述是小編給大家介紹的Mysql徹底解決中文亂碼問題的方案(Illegal mix of collations for operation),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對幫客之家網站的支持!