问题描述
我的数据库中的键中有非 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 (将#修改为@)