为什么hibernate saveorupdate对阿拉伯语数据失败?

lsmepo6l  于 2021-06-15  发布在  Mysql
关注(0)|答案(2)|浏览(355)

当我保存阿拉伯语字符串时,结果会显示在数据库中 MySQL 只是 ? .
在表结构中,列的编码是 UTF-8 ,还有其他阿拉伯数据,这意味着问题来自 Hibernate 4.3 ,当我查看文档时 Developer Guide 只有一个主题与编码有关,utf,阿拉伯语……,他们建议puting @Nationalized 注解,我这样做了,它是没有用的。
通过调试,阿拉伯字符串仍在对象中,直到:

session.saveOrUpdate(myObj);

之后我不知道发生了什么。
我正在发展 Netbeans ,谢谢你的帮助。

qrjkbowd

qrjkbowd1#

尝试通过指定 useUnicode 以及 characterEncoding .

jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8

如果您使用的是spring引导,请将其放在application.properties文件的下面一行。

spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;

请参阅use-useucode-yes-characterencoding-utf-8

dwbf0jvd

dwbf0jvd2#

必须为架构和表指定字符集,只需更改数据库的默认字符集,基于以下链接:
在my.cnf中将mysql默认字符集更改为utf-8?
如果阅读此链接并更改设置,则必须:
首先:重新启动mysql或类似的任何程序(systemctl start mysql)
第二:删除模式、数据库和表,然后重新创建。
这是波斯语的作品。

相关问题