Mysql字符串编码格式设置为utf8mb4

设置mysql的编码格式为utf8mb4可以兼容更多的字符,表情等,同时也包含了utf8字符编码。

设置编码格式为utf8mb4,通过show variables like 'character%'查询系统的编码格式

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。

[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'

本机查询的结果:

客户端查询到的结果

可以看到客户端查询的结果是client和connnection的编码格式为utf8,但这并不影响使用。

值得注意的是表的编码格式从图形化界面中更改是没用的,需要在创建时设置编码格式是utf8mb4,如果已经有数据那么就备份后重新建表,创建时候就设置编码为utf8mb4。

转载于:https://my.oschina.net/u/266531/blog/916018

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值