Hibernate mysql utf8配置

时间:2016-10-22 12:50:27

标签: mysql spring hibernate utf-8

我使用的是hibernate 4.1.4,mysql连接器是5.1.6。 Hibernate和tomcat server.xml连接器配置如下。当我试图保存时,我得到了那个例外。怎么了?

Caused by: java.sql.SQLException: Incorrect string value: '\xC5\x9Fekk\xC3...'

<Connector port="8080" maxHttpHeaderSize="8192"
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true"
           URIEncoding="UTF-8" />

<hibernate-configuration> <session-factory> <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/*****?UseUnicode=true&amp;characterEncoding=utf8</property> <property name="hibernate.connection.CharSet">utf8</property> <property name="hibernate.connection.characterEncoding">utf8</property> <property name="hibernate.connection.useUnicode">true</property> <property name="hibernate.connection.username">****</property> <property name="hibernate.connection.password">***</property> <property name="hibernate.hbm2ddl.auto">update</property> </session-factory> </hibernate-configuration>

1 个答案:

答案 0 :(得分:0)

Hex C58F在utf8 / utf8mb4编码中为ş

在Hibernate配置中,我认为它拼写为破折号:UTF-8

另见https://docs.jboss.org/exojcr/1.12.13-GA/developer/en-US/html/ch-db-configuration-hibernate.html