我使用JPA和EclipseLink连接到我的mySQL数据库。我正在编写utf-8文本,我可以通过查询MySQL Workbench中的数据来验证它是否使用正确的编码编写。但是,当我从我的java控制台应用程序检索数据时,编码是不正确的。
我已尝试将characterEncoding添加到我的连接网址,但没有运气!
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/testdb?useUnicode=yes&characterEncoding=UTF-8&characterSetResults=UTF-8&"/>
有什么建议吗?
答案 0 :(得分:0)
我的数据库的数据类型是JSON,因此我将其更改为 mediumtext CHARSET utf8 并且它工作正常,即我使用正确的编码返回数据。从MySQL的documentation json数据类型保存在utf8mb4中,所以我仍然不知道为什么它不能用于JSON数据类型。另外,我认为这不是mysql的问题,因为我可以在Workbench中读取数据并且它具有正确的编码。我唯一的猜测是,由于JSON数据类型相当新,因此存在mysql / JPA集成的错误。