为什么我的 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,在同一台机器上运行客户端和服务器。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)