内容简介:如果要实现存储emoji表情到MySQL实例,需要客户端、到MySQL实例的连接、MySQL实例内部 3 个方面统一使用或者支持 utf8mb4 字符集。备注: 修改库和修改表通过那个Sql或者在Navicat这种可视化工具里修改一下两种方式都可以。修改一列不行,如果表中的数据之前是格式为utf8 那么你通过可视化工具修改相当于新增的数据按照utf8mb4来存储的,老的数据还是utf8来存储的,这样执行sql查询的时候,还是会报不支持emoji表情错误。所以保险一点,还是执行上面的sql语句,不要通过可视化
如果要实现存储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语句,不要通过可视化工具修改
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Data Structures and Algorithms in Java
Robert Lafore / Sams / 2002-11-06 / USD 64.99
Data Structures and Algorithms in Java, Second Edition is designed to be easy to read and understand although the topic itself is complicated. Algorithms are the procedures that software programs use......一起来看看 《Data Structures and Algorithms in Java》 这本书的介绍吧!