强制jdbc使用utf8mb3

时间:2019-04-12 07:54:10

标签: java mysql sql utf8mb4

我的 Sql数据库使用 utf8_bin ,该字符限于 3字节个字符。我使用的是“ 5.1.46”之前的Mysql连接器。

在此站点上:https://dev.mysql.com/doc/connector-j/5.1/en/connector-j-reference-charsets.html,表明使用“ characterEncoding = utf-8” 参数表示它使用 utf8mb3 。就我而言,这是正确的。问题是,当应用程序尝试编写 4字节字符时,它将抛出Mysql-Exception:

"jpg"

此外,如果我完全不指定characterEncoding-parameter,它将默认使用其他字符集。这里的问题是,我需要能够写入数据库的许多字符将被替换为“?”。例如“ğ”。

到目前为止,我看到的唯一解决此问题的方法是从字符串中删除所有4字节字符,然后再将其写入数据库,因为更改数据库iself的字符集并不是一个不幸的选择

但是我想知道我是否在这里错过了什么。有更好的方法吗?

非常感谢

0 个答案:

没有答案