mysql - 为什么我的 Mariadb 字符在我的查询的返回部分被破坏了?
问题描述
我的数据库中的键中有非 ASCII 字符,这些字符应该是 UTF-8 ( utf8mb4
) 编码的。他们有点,但不完全是:
从 Java 通过 JDBC ( mysql:mysql-connector-java:8.0.21
),a:
SELECT * FROM whatever WHERE id="Dümmer";
产生正确的行。但是,该id
列的值返回为:
Dümmer
这是我所知道的:
- 在
mysql
控制台中,该值被正确打印。 - 该列已创建:
`id` varchar(511) CHARACTER SET utf8mb4 COLLATE utf8mb4_nopad_bin NOT NULL,
- 有
com.mysql.cj.jdbc.MysqlDataSource
一个null
字符编码。我试过.setCharacterEncoding( "UTF-8" )
了,但这似乎没有什么不同。
我还应该去哪里看?这是 Linux,Mariadb 10.5.5,在同一台机器上运行客户端和服务器。
解决方案
推荐阅读
- ios - 计算点大小以适合矩形内的字符串
- google-cloud-platform - GoogleJsonResponseException:500 内部服务器错误:响应太大而无法返回
- python - 将动态创建的 json url 传递给 ajax 并显示到 html 页面
- angular - Angular 2 获取 mat-dialog-container nativeelement
- sql - 多表上的更改跟踪
- mysql - MySQL 根据两列查找与前一天的记录差异
- c# - 修改值时循环遍历 ConcurrentDictionary
- sql-server - 用户偏好 SQL Server
- android - Firestore 客户和发票,修改后的要求
- c# - 使用 AutoMapper 将成员映射委托给子对象