你能告诉我我做错了什么吗?
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 1hibernate.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&zeroDateTimeBehavior=convertToNull&useUnicode=true&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插入相同的值时,它正确工作。
发布于 2018-12-30 18:52:57
是的,MySQL需要utf8mb4为\xF0\x9F\x90\xB5服务。但外界称它为UTF-8。
&character_set_server=utf8mb4& -> &
character_set_server=utf8mb4 -> characterEncoding=UTF-8
https://stackoverflow.com/questions/53979258
复制相似问题