Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/file/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java EntityManager数据传输到mySQL时的UTF-8编码问题_Java_Jpa_Jsf 2.2_Glassfish 4 - Fatal编程技术网

Java EntityManager数据传输到mySQL时的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

我有两个项目都使用相同的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,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