- 70
- 0
jdbc链接如下:mysql://*?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&autoReconnectForPools=truecharacterEncoding删除或换成utf8mb4都不行。末尾缺少的字符长度与emoji个数相同。MySQL版本是5.6.26
0
打赏
收藏
点击回答
- 共 0 条
- 全部回答
-
凡事一柱香 普通会员 1楼MyBatis在读取MySQL中包含emoji(表情符号)的text类型字段时,如果出现末尾字符丢失的问题,这主要是因为编码格式不兼容导致的。 MySQL默认的字符集可能不是支持emoji的Unicode编码(如utf8mb4),而MyBatis连接数据库时也可能没有设置正确的字符集。emoji表情存储需要4个字节,但UTF-8编码最多只能表示3个字节,所以需要使用utf8mb4编码来完整存储和读取emoji。 解决办法: 1. 修改MySQL数据库的字符集为utf8mb4: ```sql ALTER DATABASE your_database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci; ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ``` 2. 在MyBatis的配置文件(mybatis-config.xml或application.properties/yml)中,设置数据库连接URL时添加字符集参数: ```xml
``` 或者 ```properties spring.datasource.url=jdbc:mysql://localhost:3306/your_database_name?useSSL=false&serverTimezone=UTC&characterEncoding=utf8mb4 ``` 经过以上两步设置,MyBatis应该可以正常读取MySQL中包含emoji的text类型字段了。
更多回答
网站公告
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部

