java - MySQL 5.7 与 MySQL 8 中的 UTF-8 Unicode 字符
问题描述
我们最近经历了从 MySQL 5.7 到 MySQL 8 的迁移。在 MySQL 5.7 上,我们只是在连接字符串中添加了“useUnicode=true”来使 unicode 字符正常工作。在 MySQL 8 上,由于 unicode 字符,我们不断遇到异常。我们在后端使用 Java。例子:
Incorrect string value: '\xC2\x80\xC2\x99t ...' for column 'subject' at row 1
任何人都可以对此有所了解吗?
解决方案
试试下面给出的查询,它将更新对 Unicode 的支持。它曾经与早期版本的 MySQL 一起工作,我不确定 MySQL 8。
SET NAMES utf8mb4 COLLATE utf8mb4_unicode_ci;
还要检查character-set-server = utf8mb4
my.cnf 和useUnicode=true
您的 JDBC 连接。
推荐阅读
- reactjs - 可以在构造函数中获取值,但是在render函数中输出TypeError: Cannot read property 'xxx' of undefined
- haskell - 在为守卫执行模块表达式时,在我的 Haskell 代码中出现三个“变量不在范围内”错误
- c# - 为什么我不能用T?作为 C# 中的泛型参数
- c++ - 如何将此程序中的 if else 语句转换为 switch 语句?Visual Studio 2019 C++
- python - rtsp cv2.VideoCapture onvif camera Nonmatching transport and -215:Assertion failed size and width > 0
- javascript - 为什么端口号没有显示在输出屏幕中?
- php - 为什么每次尝试向数组中添加内容时都会覆盖当前数据?
- mysql - 我在订单和产品之间有多对多的关系。订单中有产品记录被删除怎么办?
- flutter - 在 Flutter 中组合减速器
- javascript - 找出如何作为客户端生成 onClick 属性?