JDBC对Mysql utf8mb4字符集的处理
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围在存储数据时, 出现部分特殊字符存储字符串失败.
千家信息网最后更新 2025年02月22日JDBC对Mysql utf8mb4字符集的处理
在开发微信开放平台, 接入微信公众号的数据时, 关于用户的nickname和文本消息是,大量出现emoji的文本信息, 超时了utf-8字符集的存储范围
在存储数据时, 出现部分特殊字符存储字符串失败.
服务端解决方案
查阅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 = FALSEcharacter-set-server = utf8mb4collation-server = utf8mb4_unicode_ci
重启服务MySQL服务
问题到此解决
字符
配置
数据
存储
服务
字符集
客户
客户端
数据库
方案
解决方案
处理
特殊
字符串
官方
文本
端的
问题
支持
信息
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
ajax服务器插件
苹果手机下载连接服务器失败
宿迁工业网络技术大概费用
软件开发监理费标准
fv数据库
校园网络安全竞赛总结
怎么销售网络安全产品
数据库基础教程 百度文库
计算机网络技术配伍题
湖南智慧党建软件开发公司
望城租房软件开发
智慧校园网络安全与学习
ftp服务器怎么播放歌
数据库模型的三级模式分别是
用c 开发b s数据库
监控客户端怎么访问服务器
数据库主键机制
南昌市app软件开发公司
海智网聚网络技术
数据库语法检查软件
慈溪软件开发设计方案
最新科技互联网
软件开发计划风险管理策略
软件开发教程从入门到精通
网络技术项目包含哪些内容
网络安全保密协议最新的范文
国家网络安全工作指导思想
计算机网络技术题库一座大楼
应用程序无法获取服务器地址
河南工业软件开发收费