为什么 Hibernate saveOrUpdate 对阿拉伯语数据失败?

Why Hibernate saveOrUpdate fails for arabic data?

当我保存阿拉伯字符串时,数据库中的结果 MySQL 只是 ?.

在table结构中,列的编码是UTF-8,还有其他阿拉伯数据,这意味着问题来自Hibernate 4.3,当我查看文档时Developer Guide 只有一个主题与编码、UTF、阿拉伯语..有关,他们建议添加 @Nationalized 注释,我这样做了,但没有用。

通过调试,阿拉伯字符串仍然在对象中直到:

session.saveOrUpdate(myObj);

之后就不知道发生了什么了

我正在 Netbeans 上开发,感谢您的帮助。

尝试通过指定 useUnicodecharacterEncoding 在数据源中放置下面一行。

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然后重新创建它。

这适用于波斯语。