微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

为什么我的 Mariadb 字符会在我的查询的返回段中被破坏?

如何解决为什么我的 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 举报,一经查实,本站将立刻删除。