mysql如何存储表情,如何让mysql支持存储表情

言简意赅,直入正题。

我用的是mysql数据库,这里我用mysql示意,其他数据库大多一致:

mysql存储表情,需要版本支持,mysql要高于5.5.3,程序驱动包版本要高于5.1.18。

1、数据库方面:

配置数据库、表、字段三者的字符集为utf8mb4,因为mysql的utf8不是真正意义上的utf8,它只能存储3个字节,而真正的utf8是可以存储4个字节的数据,后来为了弥补这一缺陷,mysql官方推出了utf8mb4字符集来弥补自己的缺陷。所以,这里需要将字符集改成utf8mb4来支持表情存储。

执行sql查询字符集:

SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';

如果查询出来是这样:

character_set_client:utf8

character_set_connection:utf8

character_set_database:utf8

character_set_results:utf8

需要执行sql来改变字符集:

set names utf8mb4

这样就改好了:

character_set_client:utf8mb4

character_set_connection:utf8mb4

character_set_database:utf8mb4

character_set_results:utf8mb4

2、程序方面:

给配置文件中加如下配置:

spring.datasource.druid.connection-init-sqls=set names utf8mb4;

这样就可以支持表情了。

效果图我就不上了,我自己是测试通过了。

说下,我还走的一些路:看别人的帖子说还需要改mtysql的my.ini文件,需要加上

character_set_server=utf8mb4

init_connect='SET NAMES utf8'

因为我的mysql是linux版本的,加上上面配置之后,数据库反而启动报错,前三个修改后还是存储不了的可以试试。

如果还不行,可以试试在程序层面对所有的表情进行过滤,这样至少不会保存报错。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值