目前我的spring应用程序正在使用characterEncoding = UTF-8连接连接到mysql数据库,但是几个表在latin1中都有编码,我真的不需要将utf-8字符存储到dabase中作为原始版本,为了我保存'? ????”而不是他们是可以接受的,但现在我收到了这个错误:
Caused by: java.sql.SQLException: Incorrect string value: '\xD1\x84\xD1\x8B\xD0\xB2...' for colum
有没有办法为给定的表保存问号而不是抛出错误? (根据我的情况,将表转换为utf-8是不可接受的)
答案 0 :(得分:0)
您可以使用
replaceAll
使用'?'
的非latin1字符
value.replaceAll("[^\x0-\x7f]", "?")
或者您可以使用StandardCharsets.US_ASCII
进行编码和重新解码。