mysql字符集說明

weixin_34104341發表於2020-04-07

mysql字符集說明

一、mysql中涉及的幾個字符集

Ø 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_connection 連線字符集。

在客戶端,如果沒有定義character-set-results,則採用character-set-client字符集作為預設的字符集。所以只需要設定character-set-client字符集。要處理中文,則可以將character-set-server和character-set-client均設定為GB2312,如果要同時處理多國語言,則設定為UTF8。

 

二、解決亂碼問題

通常亂碼問題是因為字符集不統一而造成的。通常字元character-set-server、character-set-client、character_set_connection需要統一

 

三、修改預設字符集

1、 最簡單的修改方法,就是修改mysql的my.ini檔案中的字符集鍵值,
      如     default-character-set = utf8
            character_set_server = utf8
    修改完後,重啟mysql的服務,service mysql restart
    使用 mysql> SHOW VARIABLES LIKE 'character%';檢視,發現資料庫編碼均已改成utf8
+--------------------------+---------------------------------+
| Variable_name             | Value                            |
+--------------------------+---------------------------------+
| character_set_client      | utf8                             |
| character_set_connection | utf8                             |
| character_set_database    | utf8                             |
| character_set_filesystem | binary                           |
| character_set_results     | utf8                             |
| character_set_server      | utf8                             |
| character_set_system      | utf8                             |
| character_sets_dir        | D:"mysql-5.0.37"share"charsets" |
+--------------------------+---------------------------------+

 

2、 還有一種修改字符集的方法,就是使用mysql的命令
    mysql> SET character_set_client = utf8 ;

    init_connect='SET NAMES utf8' 

轉載於:https://www.cnblogs.com/Cherie/p/3309448.html

相關文章