2018-12-05
閱讀量:
682
Mysql中查詢出的結果是亂碼
mysql中出現(xiàn)亂碼是由于字符集沒有設置為utf8,我們可以從以下幾個方面來分析問題。
查看字符集設置的命令:
show variables like '%char%';
查看服務器端和客戶端字符集的當前設置。
Mysql中涉及的幾個字符集mysql服務器端有:
character-set-server/default-character-set:服務器字符集,默認情況下所采用的。
character-set-database:數(shù)據(jù)庫字符集。
character-set-table:數(shù)據(jù)庫表字符集。
優(yōu)先級依次增加。所以一般情況下只需要設置character-set-server,而在創(chuàng)建數(shù)據(jù)庫和表時不特別指定字符集,這樣統(tǒng)一采用character-set-server字符集。
Mysql客戶端有:
character-set-client:客戶端的字符集。客戶端默認字符集。當客戶端向服務器發(fā)送請求時,請求以該字符集進行編碼。
character-set-results:結果字符集。服務器向客戶端返回結果或者信息時,結果以該字符集進行編碼。
在客戶端,如果沒有定義character-set-results,則采character-set-client字符集作為默認的字符集。所以只需要設置character-set-client字符集。
此問題是服務器默認字符集不是utf8且創(chuàng)建表時沒有指定字符集導致的。通過命令set character_set-table=utf8; 就可以正常顯示!






評論(0)


暫無數(shù)據(jù)
推薦帖子
0條評論
0條評論
0條評論