为什么 Hibernate saveOrUpdate 对阿拉伯语数据失败?
Why Hibernate saveOrUpdate fails for arabic data?
当我保存阿拉伯字符串时,数据库中的结果 MySQL
只是 ?
.
在table结构中,列的编码是UTF-8
,还有其他阿拉伯数据,这意味着问题来自Hibernate 4.3
,当我查看文档时Developer Guide
只有一个主题与编码、UTF、阿拉伯语..有关,他们建议添加 @Nationalized
注释,我这样做了,但没有用。
通过调试,阿拉伯字符串仍然在对象中直到:
session.saveOrUpdate(myObj);
之后就不知道发生了什么了
我正在 Netbeans
上开发,感谢您的帮助。
尝试通过指定 useUnicode
和 characterEncoding
在数据源中放置下面一行。
jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8
如果您正在使用 spring 引导,请在 application.properties 文件的下面一行。
spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;
见use-useunicode-yes-characterencoding-utf-8
您必须为模式和 table 指定字符集,只需根据以下内容更改数据库的默认字符集 link :
Change MySQL default character set to UTF-8 in my.cnf?
如果您阅读此 link 并更改设置,您必须:
首先 : 重新启动 mysql 或任何其他类似的 (systemctl start mysql)
第二个: 删除您的架构和数据库,table然后重新创建它。
这适用于波斯语。
当我保存阿拉伯字符串时,数据库中的结果 MySQL
只是 ?
.
在table结构中,列的编码是UTF-8
,还有其他阿拉伯数据,这意味着问题来自Hibernate 4.3
,当我查看文档时Developer Guide
只有一个主题与编码、UTF、阿拉伯语..有关,他们建议添加 @Nationalized
注释,我这样做了,但没有用。
通过调试,阿拉伯字符串仍然在对象中直到:
session.saveOrUpdate(myObj);
之后就不知道发生了什么了
我正在 Netbeans
上开发,感谢您的帮助。
尝试通过指定 useUnicode
和 characterEncoding
在数据源中放置下面一行。
jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8
如果您正在使用 spring 引导,请在 application.properties 文件的下面一行。
spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;
见use-useunicode-yes-characterencoding-utf-8
您必须为模式和 table 指定字符集,只需根据以下内容更改数据库的默认字符集 link :
Change MySQL default character set to UTF-8 in my.cnf?
如果您阅读此 link 并更改设置,您必须:
首先 : 重新启动 mysql 或任何其他类似的 (systemctl start mysql)
第二个: 删除您的架构和数据库,table然后重新创建它。
这适用于波斯语。