[toc]
1.mysql編碼集
檢視mysql支援的字符集
mysql> show character set;
檢視mysql當前的字符集
mysql> show variables like 'character%';
| variable_name | value |
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | latin1 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | latin1 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
8 rows in set (0.00 sec)
或者使用status命令或者\s命令
上面的字符集是mysql5.7.x安裝好預設的字符集
命令的官網解釋:
2.修改字符集
臨時修改
-- set [global] variable_name=charset;
mysql> set global character_set_server=utf8;
永久修改
在my.cnf檔案中指定
[client]
default-character-set=utf8
影響引數:
character_set_client
character_set_connection
character_set_results
[mysqld]
character-set-server=utf8
影響引數:
character_set_database
character_set_server
3.mysql資料庫中字符集轉換流程
mysql收到請求時將請求資料從character_set_client轉換為character_set_connection
進行內部操作前將請求資料從character_set_connection轉換為內部操作字符集,其確定方法如下
使用每個資料字段的character set設定值
若上述值不存在,則使用對應資料表的default character set設定值(mysql擴充套件,非sql標準)
若上述值不存在,則使用對應資料庫的default character set設定值
若上述值不存在,則使用character_set_server設定值
將操作結果從內部操作字符集轉換為character_set_connection
將響應資料從character_set_connection轉為character_set_client
執行sql語句時資訊的路徑是這樣的
資訊輸入路徑:client → connection → server;
資訊輸出路徑:server → connection → results.
4.修改現有字符集
修改資料庫的字符集
-- alter database db_name character set charset;
mysql> alter database snail character set utf8;
修改表的字符集
-- alter database table_name character set charset;
mysql> alter table people character set utf8;
修改列的字符集
-- alter table table_name change column_name column_name varchar(10) character set charset;
mysql> alter table people change name name varchar(10) character set utf8;
mysql 集群字符集 Mysql 字符集
字符集與字元比較 字符集字符集是某種字元的集合,比如最常見的ascii碼,由127個字元組成,只需要乙個位元組就能表示 我們常說的字符集還是gbk iso utf8 mysql 我們使用得最多的字符集就是gbk 和 utf8了 他們都是變長字符集,如果字元在ascii範圍內就使用乙個位元組表示,其他...
mysql字符集 MySQL字符集選擇
一 怎樣選擇合適的字符集 對mysql資料庫來說,字符集很重要,因為資料庫儲存的資料大部分都是各種文字,字符集對資料庫的儲存,處理效能都會有所影響。主要考慮一下幾方面的因素 1.滿足應用支援語言的需求,應用處理各種各樣的文字,發布到使用不同語言的國家或地區,可以選擇unicode字符集,mysql的...
mysql字符集修改 MySql字符集修改
問題分析 普通的字串或者表情都是佔位3個位元組,所以utf8足夠用了,但是移動端的表情符號佔位是4個位元組,普通的utf8就不夠用了,為了應對無線網際網路的機遇和挑戰 避免 emoji 表情符號帶來的問題 涉及無線相關的 mysql 資料庫建議都提前採用 utf8mb4 字符集,這必須要作為移動網際...