Java EntityManager数据传输到mySQL时的UTF-8编码问题
我有两个项目都使用相同的mySQL数据库。一个是主/细节桌面应用程序,另一个是使用PrimeFaces-4.0的JSF Crud。 -虽然我的JDBC连接是UTF-8,但如下所示:Java EntityManager数据传输到mySQL时的UTF-8编码问题,java,jpa,jsf-2.2,glassfish-4,Java,Jpa,Jsf 2.2,Glassfish 4,我有两个项目都使用相同的mySQL数据库。一个是主/细节桌面应用程序,另一个是使用PrimeFaces-4.0的JSF Crud。 -虽然我的JDBC连接是UTF-8,但如下所示: jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8 数据库字段也是utf-8_general_ci 我将Glassfish JDBC属性定义为: 使用Unicode,对 characterSetResults
jdbc:mysql://localhost:3306/db_name?useUnicode=yes&characterEncoding=UTF-8
- 数据库字段也是utf-8_general_ci
- 我将Glassfish JDBC属性定义为: 使用Unicode,对 characterSetResults,UTF-8 字符编码,UTF-8
但当我输入非英语字符串时,我仍然会在数据库中输入“?”字符 当我们开始使用Hibernate时,我也遇到了同样的问题。为连接URL分配额外的配置并没有解决问题,但是我们添加了以下属性
<property name="hibernate.connection.characterEncoding">utf8</property>
<property name="hibernate.connection.useUnicode">true</property>
<property name="hibernate.connection.charSet">UTF-8</property>
我希望它能解决你的问题
编辑:
我只是注意到你根本没有使用Hibernate,所以这对你没有帮助/ 试试这个谢谢,但不幸的是我没有使用Hibernate!我用JPA
useUnicode=yes
,是否应该是useUnicode=true
?
jdbc:mysql://localhost:3306/db_name