我的 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的字符集并不是一个不幸的选择
但是我想知道我是否在这里错过了什么。有更好的方法吗?
非常感谢