当前位置:网站首页>使用jdbc来处理MySQL的utf8mb4字符集(转)
使用jdbc来处理MySQL的utf8mb4字符集(转)
2022-08-09 00:20:00 【女儿控伪全栈老徐】
原文链接地址:
http://blog.51cto.com/11931236/2057929
服务端解决方案
查阅MySQL官方文档时,给出如下支持utf8转utf8mb4的官方处理办法
https://dev.mysql.com/doc/refman/5.7/en/charset-unicode-conversion.html
上述的步骤只是针对server端的配置.
对于客户端需要额外特殊的处理
因为我目前的项目, 使用的是JAVA编写, 使用JDBC连接操作数据库, 如下针对的JDBC操作的解决方案
JDBC的URL之前的配置方式
String url = "jdbc:mysql://HOST:PORT/DATABASE?useUnicode=true&characterEncoding=UTF-8";
在连接配置中,声明UTF-8的字符编码,在目前的存储需求上来讲,在存储emoji字符串时会报错. 就算服务端的数据库设置了utf8mb4字符集类型
客户端修改成如下配置
String url = "jdbc:mysql://HOST:PORT/DATABASE?useUnicode=true&characterEncoding=utf8mb4";
客户端连接时报错,不支持该字符集
上述问题的解决方案
连接配置改成
String url = "jdbc:mysql://HOST:PORT/DATABASE";
同时数据库配置文件my.cnf 进行相应的修改
[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
重启服务MySQL服务
问题到此解决
边栏推荐
猜你喜欢
随机推荐
插值拟合——数据处理或预测
Unity3D小白学习日记(03):Unity3D 常用技巧整理(大量干货!)
Data Agencies - Huffman Trees
常用的正则表达式(不定期更新)
为什么依赖注入出现的频率这么高?
SyntaxError line:3546,column:96577,SyntaxError: Unexpected token '...'. Expected a property name.
摘桃子(推式子+优化)
登录退出功能
sessionStorage值改变后,页面利用window.sessionStorage.getItem()获取到的值不会更新
数学建模美赛题型分类
ES6入门基础知识
Mysql Workbench导出sql文件出错:Error executing task: ‘ascii‘ codec can‘t decode byte 0xd0 in position 26:
2020-10-17
JS data types
软考总结博客
【Full arrangement】
GaN图腾柱无桥 Boost PFC(单相)五-细节处理
数据机构-哈夫曼树
如何使用Rancher部署发布自己的web应用
supervisor 安装、配置、常用命令