博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
mysql 存储emoji表情
阅读量:6847 次
发布时间:2019-06-26

本文共 922 字,大约阅读时间需要 3 分钟。

1.原则

如果要实现存储emoji表情到MySQL实例,需要客户端、到MySQL实例的连接、MySQL实例内部 3 个方面统一使用或者支持 utf8mb4 字符集。

2.三个条件说明

2.1 客户端

以常见的 JDBC 连接为例:对于 JDBC 连接,需要使用 MySQL Connector/J 5.1.13(含)以上的版本。JDBC 的连接串中,建议不配置 characterEncoding 选项。复制代码

2.2 MySQL实例的连接

通过 set names 命令设置会话字符集在代码中指定连接的字符集为 utf8mb4,样例代码如下:String query = “set names utf8mb4”; stat.execute(query);或者druidDataSource.setConnectionInitSqls(Collections.singleton("SET NAMES utf8mb4"));复制代码

2.3 MySQL实例内部

修改库:    ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;修改表:ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;修改一列:ALTER TABLE table_name CHANGE column_name column_name VARCHAR(191) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;复制代码

备注: 修改库和修改表通过那个Sql或者在Navicat这种可视化工具里修改一下两种方式都可以。

但是

修改一列不行,如果表中的数据之前是格式为utf8 那么你通过可视化工具修改相当于新增的数据按照utf8mb4来存储的,老的数据还是utf8来存储的,这样执行sql查询的时候,还是会报不支持emoji表情错误。所以保险一点,还是执行上面的sql语句,不要通过可视化工具修改

转载地址:http://tivul.baihongyu.com/

你可能感兴趣的文章
Java多线程编程那些事:volatile解惑
查看>>
百度成立国内首个深度学习教育联盟,将制定行业标准
查看>>
微软开源 Surface 设备和 Hyper-V 的 UEFI 内核
查看>>
《Humans vs Computers》作者访谈录
查看>>
AWS发布Elastic Container Service for Kubernetes(EKS)
查看>>
PHPStorm 2016.2 - 2016.3在线激活
查看>>
如何将C# 7类库升级到C# 8?使用可空引用类型
查看>>
腾讯云联手创梦天地支持全球独立游戏开发者
查看>>
GitHub GraphQL API已正式可用
查看>>
spring cloud config server源码解析
查看>>
使用VS Code开发 调试.NET Core 应用程序
查看>>
jshint .jshintrc 的配置
查看>>
从一行代码里面学点 JavaScript
查看>>
mysql笔记 - SELECT 语句
查看>>
切图崽的自我修养-[HTTP] 部署WEB服务流程梳理
查看>>
感觉值得引进一下国外造轮子的套路
查看>>
【译】 WebP 支持:超出你想象
查看>>
cassandra分页
查看>>
13 款惊艳的 Node.js 框架——第2部分
查看>>
NodeJS中被忽略的内存
查看>>