当我保存阿拉伯字符串时,数据库MySQL
中的结果就是?
。
在表结构中,列的编码为UTF-8
,还有其他阿拉伯数据,这意味着问题来自Hibernate 4.3
,当我查看文档Developer Guide
时仅仅是与编码,UTF,阿拉伯语..相关的一门课程,他们建议添加@Nationalized
注释,我这样做是没有用的。
通过调试,阿拉伯字符串仍在对象中,直到:
session.saveOrUpdate(myObj);
那之后我不知道发生了什么。
我正在Netbeans
上进行开发,谢谢您的帮助。
答案 0 :(得分:2)
尝试通过指定useUnicode
和characterEncoding
将其放在数据源的下方。
jdbc:mysql://localhost:3306/dbname?useUnicode=yes&characterEncoding=UTF-8
如果您使用的是Spring Boot,请将它放在application.properties文件的下面。
spring.datasource.connectionProperties=useUnicode=true;characterEncoding=utf-8;
答案 1 :(得分:0)
您必须为架构和表指定字符集,只需根据以下链接更改数据库的默认字符集:
Change MySQL default character set to UTF-8 in my.cnf?
如果您阅读此链接并更改设置,则必须:
首先:重新启动mysql或任何其他类似的系统(systemctl启动mysql)
秒::删除架构,数据库和表,然后重新创建。
这是波斯语的作品。