mysql是哪五个字符集_MySQL中涉及的几个字符集
character-set-server/default-character-set:服務(wù)器字符集,默認(rèn)情況下所采用的。
character-set-database:數(shù)據(jù)庫字符集。
character-set-table:數(shù)據(jù)庫表字符集。
優(yōu)先級(jí)依次增加。所以一般情況下只需要設(shè)置character-set-server,而在創(chuàng)建數(shù)據(jù)庫和表時(shí)不特別指定字符集,這樣統(tǒng)一采用character-set-server字符集。
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)行編碼。
在客戶端,如果沒有定義character-set-results,則采用character-set-client字符集作為默認(rèn)的字符集。所以只需要設(shè)置character-set-client字符集。
要處理中文,則可以將character-set-server和character-set-client均設(shè)置為GB2312,如果要同時(shí)處理多國語言,則設(shè)置為UTF8。
關(guān)于MySQL的中文問題
解決亂碼的方法是,在執(zhí)行SQL語句之前,將MySQL以下三個(gè)系統(tǒng)參數(shù)設(shè)置為與服務(wù)器字符集character-set-server相同的字符集。
character_set_client:客戶端的字符集。
character_set_results:結(jié)果字符集。
character_set_connection:連接字符集。
設(shè)置這三個(gè)系統(tǒng)參數(shù)通過向MySQL發(fā)送語句:set names gb2312
latin1是萬能編碼,存的是任何字符,連二進(jìn)制也能存,存儲(chǔ)時(shí)把gbk/gb2312當(dāng)成latin1寫入數(shù)據(jù)庫,查詢時(shí)把從數(shù)據(jù)庫取出來的latin1字符串當(dāng)成gbk/gb2312顯示到界面上,這樣數(shù)據(jù)庫就不會(huì)做任何字符集的轉(zhuǎn)換,你的客戶端就會(huì)正常顯示和輸入。
[mysqld] ...... character_set_server=utf8 default-character-set=utf8 直接 set @@character_set_server='utf8';
總結(jié)
以上是生活随笔為你收集整理的mysql是哪五个字符集_MySQL中涉及的几个字符集的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql 标识符规则_MySQL 标识
- 下一篇: linux cmake编译源码,linu