我知道这个错误意味着mysql列不接受值,但这很奇怪,因为值适合Java UTF-8编码的字符串,而mysql列是utf8_general_ci。此外,所有utf8字符到目前为止都工作正常,除了这些。
用例为:我正在导入推文。有问题的推文是:https://twitter.com/bakervin/status/210054214951518212-您可以看到两个“奇怪”字符(以及它们之间的两个奇怪空格)。问题是-如何处理这一点:
- 修剪这些字符(它们是什么,Java UTF-8与MySQL有什么不同)
- 使列能够接受此值(如何-是否存在比utf8_general_ci更utf-y的值)
2条答案
按热度按时间huwehgph1#
这些似乎是unicode代理项字符。由于它们不是实际的字符,而且MySQL似乎不支持它们,因此可以安全地修剪它们:
7qhs6swi2#
我通过将数据库的排序规则从utf_8更改为utf_16来修复该错误。