2016-06-02 3 views
0

Im использует JPA с EclipseLink для подключения к моему mySQL db. Я пишу текст utf-8, и могу подтвердить, что он написан с правильной кодировкой, запрашивая данные из MySQL Workbench. Но, когда я извлекаю данные из моего приложения консоли java, кодировка неверна.JPA с EclipseLink: проблема с кодировкой декодирования

Я попытался добавить символEncoding к моему URL-адресу соединения, но не повезло!

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

Любые предложения?

+0

Чтобы получить помощь, вам нужно будет включить код, который выполняет поиск данных. И какова кодировка данных, возвращаемая консольным приложением? –

ответ

0

Тип данных моей БД был JSON, поэтому я изменил его на mediumtext CHARSET utf8, и он работал, то есть я вернул данные с правильной кодировкой. Из MySQL documentation json datatype сохраняется в utf8mb4, поэтому я до сих пор не знаю, почему он не будет работать с типом данных JSON. Кроме того, я не думаю, что это проблема с mysql, так как я могу читать данные в Workbench и иметь правильную кодировку. Мое единственное догадание состоит в том, что, поскольку типы данных JSON довольно новы, есть ошибка с интеграцией mysql/JPA.

Смежные вопросы