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字符集作為預設的字符集。所以只需要設定character-set-client字符集。
要處理中文,則可以將character-set-server和character-set-client均設定為gb2312,如果要同時處理多國語言,則設定為utf8。
關於mysql的中文問題
解決亂碼的方法是,在執行sql語句之前,將mysql以下三個系統引數設定為與伺服器字符集character-set-server相同的字符集。
character_set_client:客戶端的字符集。
character_set_results:結果字符集。
character_set_connection:連線字符集。
設定這三個系統引數通過向mysql傳送語句:set names gb2312
latin1是萬能編碼,存的是任何字元,連二進位制也能存,儲存時把gbk/gb2312當成latin1寫入資料庫,查詢時把從資料庫取出來的latin1字串當成gbk/gb2312顯示到介面上,這樣資料庫就不會做任何字符集的轉換,你的客戶端就會正常顯示和輸入。
[mysqld]
......
character_set_server=utf8
default-character-set=utf8
直接 set @@character_set_server='utf8';
MySQL中涉及的幾個字符集
character set server default character set 伺服器字符集,預設情況下所採用的。character set database 資料庫字符集。character set table 資料庫表字符集。優先順序依次增加。所以一般情況下只需要設定character s...
MySQL中涉及的幾個字符集
character set server default character set 伺服器字符集,預設情況下所採用的。character set database 資料庫字符集。character set table 資料庫表字符集。優先順序依次增加。所以一般情況下只需要設定character s...
漢字佔幾個字元
不同的編碼方式,漢字所佔的字元是不同的。國家標準gb2312 乙個漢字 2個位元組 utf 8 乙個漢字 3個位元組 乙個漢字是乙個字元,兩個或三個位元組。在判斷的時候,可以注意下,看判斷是字元還是位元組。位元組是儲存的時候所佔得大小。例如,在做使用者名稱判斷的時候,使用者名稱的規則是 2到6個漢字...