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






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
0條評(píng)論
0條評(píng)論