設置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