數據庫字符集問題會導致亂碼,從而消耗開發者蠻多精力。針對mysql的用戶,按如下AB所示的方法操作,即可避免大部編碼問題
A.mysql安裝時的默認編碼是latin1,此時要注意需要將其手動更改為utf8.
B. 修改my.ini文件
My.ini中的[mysql]對應的是客戶端參數
[mysqld]中對應的剛是數據庫後台服務的相關參數
兩者都有default-character-set屬性,將client端設置為GBK編碼,後台數據用utf8存儲,可以滿足大部國內開發者的開發環境需求。
補充說明1.
對於“將client端設置為GBK編碼”的補充說明
目前Windows的內核已經支持Unicode字符集,內核上可以支持全世界所有的語言文字,同時用Windows使用代碼頁(codepage)來適應各個國家和地區。codepage可以理解為我們在普通的cmd窗口或文本編輯器中輸入文字時的默認編碼。這也是數據庫客戶端的顯示編碼字符集必須與my.ini設置一致的原因,如果將utf8編碼在cp936表中進行查找,勢必得到亂碼。
GBK對應的codepage是CP936。
查看方法為cmd->chcp,如下圖結果,可以確認客戶端默認輸入編碼為936