【发布时间】:2020-04-21 14:12:30
【问题描述】:
我正在尝试使用 JdbcBatchItemWriter.write(records) 将我的记录保存到 MySql DB 中。变量 records 包含一个对象,该对象将字符串保存为 вврвовлввв,就像在俄语中一样。在内存中它持有正确的字符串值。但在数据库中保存后,字符串值更改为 ??????。每当我试图从数据库中检索这个字符串时,它总是以 ?????? 的形式出现。我希望将确切的字符串值保存在数据库中。
谁能解决这个问题?
我使用的是spring批处理框架版本:4.1.2
【问题讨论】:
-
您是否在您的数据库连接字符串中正确设置了字符编码?即
jdbc:mysql://localhost:3306/mydatabase?useUnicode=true&characterEncoding=utf8 -
我已经通过更改 my.ini 文件中的值解决了这个问题。起初只有一个像 character-set-server=latin1 ... 这样的条目。现在我添加了下面的字符集,如下所示,它解决了我的问题 character-set-server=utf8mb4
标签: java mysql spring spring-batch