mysql字符集說明mysql
1、mysql中涉及的幾個字符集sql
Ø character-set-server/default-character-set:服務器字符集,默認狀況下所採用的。 數據庫
Ø character-set-database:數據庫字符集。服務器
Ø character-set-table:數據庫表字符集。編碼
優先級依次增長。因此通常狀況下只須要設置character-set-server,而在建立數據庫和表時不特別指定字符集,這樣統一採用character-set-server字符集。rest
Ø character-set-client:客戶端的字符集。客戶端默認字符集。當客戶端向服務器發送請求時,請求以該字符集進行編碼。server
Ø character-set-results:結果字符集。服務器向客戶端返回結果或者信息時,結果以該字符集進行編碼。it
Ø character_set_connection 鏈接字符集。io
在客戶端,若是沒有定義character-set-results,則採用character-set-client字符集做爲默認的字符集。因此只須要設置character-set-client字符集。要處理中文,則能夠將character-set-server和character-set-client均設置爲GB2312,若是要同時處理多國語言,則設置爲UTF8。table
2、解決亂碼問題
一般亂碼問題是由於字符集不統一而形成的。一般字符character-set-server、character-set-client、character_set_connection須要統一
3、修改默認字符集
一、 最簡單的修改方法,就是修改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" |
+--------------------------+---------------------------------+
二、 還有一種修改字符集的方法,就是使用mysql的命令
mysql> SET character_set_client = utf8 ;
init_connect='SET NAMES utf8'