【问题标题】:JPA with EclipseLink: Decoding charset issue带有 EclipseLink 的 JPA:解码字符集问题
【发布时间】:2016-06-02 05:39:17
【问题描述】:

我正在使用带有 EclipseLink 的 JPA 连接到我的 mySQL 数据库。我正在编写 utf-8 文本,我可以通过查询来自 MySQL Workbench 的数据来验证它是否使用正确的编码编写。但是,当我从我的 java 控制台应用程序中检索数据时,编码不正确。

我尝试将 characterEncoding 添加到我的连接 url,但没有成功!

<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/testdb?useUnicode=yes&amp;characterEncoding=UTF-8&amp;characterSetResults=UTF-8&amp;"/>

有什么建议吗?

【问题讨论】:

  • 为了获得帮助,您必须包含执行数据检索的代码。控制台应用程序返回的数据编码是什么?

标签: java mysql jpa eclipselink


【解决方案1】:

我的数据库的数据类型是 JSON,所以我将其更改为 mediumtext CHARSET utf8 并且它有效,即我用正确的编码取回了数据。 MySQL 的documentation json 数据类型保存在 utf8mb4 中,所以我仍然不知道为什么它不能与 JSON 数据类型一起使用。此外,我认为这不是 mysql 的问题,因为我可以在 Workbench 中读取数据并且它具有正确的编码。我唯一的猜测是,由于 JSON 数据类型相当新,因此 mysql/JPA 集成存在错误。

【讨论】:

    猜你喜欢
    • 2016-08-21
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-22
    相关资源
    最近更新 更多