Mysql字符串編碼格式設置爲utf8mb4

設置mysql的編碼格式爲utf8mb4能夠兼容更多的字符,表情等,同時也包含了utf8字符編碼。mysql

設置編碼格式爲utf8mb4,經過show variables like 'character%'查詢系統的編碼格式sql

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       | /opt/mysql/server-5.6/share/charsets/ |
+--------------------------+---------------------------------------+

經過以下sql設置編碼編碼

set character_set_client=utf8 ;
set character_set_connection=utf8 ;
set character_set_database=utf8 ;
set character_set_database=utf8 ;
set character_set_results=utf8 ;
set character_set_server=utf8 ;
set character_set_system=utf8 ;

還須要修改mysql根目錄下的配置文件my.ini文件,特別是client的編碼格式,設置後客戶端傳入的字符編碼格式纔是utf8mb4。spa

[client]
default-character-set = utf8mb4

[mysql]
default-character-set = utf8mb4

[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect='SET NAMES utf8mb4'

本機查詢的結果:code

客戶端查詢到的結果server

能夠看到客戶端查詢的結果是client和connnection的編碼格式爲utf8,但這並不影響使用。ci

值得注意的是表的編碼格式從圖形化界面中更改是沒用的,須要在建立時設置編碼格式是utf8mb4,若是已經有數據那麼就備份後從新建表,建立時候就設置編碼爲utf8mb4。unicode

相關文章
相關標籤/搜索