Hibernate utf8mb4 кодировка - PullRequest
       10

Hibernate utf8mb4 кодировка

0 голосов
/ 30 декабря 2018

подскажите, что я делаю не так?

Версия Hibernate: 4.3.11. Финал

MariaDb 10.3

В консоли я вижу:

Dec 30, 2018 5:02:20 PM org.hibernate.engine.jdbc.spi.SqlExceptionHelper$StandardWarningHandler logWarning
WARN: Incorrect string value: '\xF0\x9F\x90\xB5 D...' for column 'nick' at row 1

hibernate.cfg.xml

<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="hibernate.connection.url">jdbc:mysql://localhost:3306/dbname?autoReconnect=true&amp;zeroDateTimeBehavior=convertToNull&amp;useUnicode=true&amp;character_set_server=utf8mb4</property>
<property name="hibernate.connection.username">login</property>
<property name="hibernate.connection.password">password</property>
<property name="hibernate.connection.CharSet">utf8mb4</property>
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>

Когда я вставляю то же значение через PhpMyAdmin, оно работает правильно.

1 Ответ

0 голосов
/ 30 декабря 2018

Да, MySQL необходимо utf8mb4 для \xF0\x9F\x90\xB5.Но внешний мир называет это UTF-8.

&amp;character_set_server=utf8mb4

&amp; -> &

character_set_server=utf8mb4 -> characterEncoding=UTF-8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...