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