我已经将我们遇到的一个问题隔离到一个简单的测试中:
尝试使用参数值new String(new char[]{0xDBFF,0xDC00})在长文本列类型上运行直接的JDBC插入或更新;
出现异常,声明:“列的字符串值不正确:'\xF4\x8F\xB0\x80‘”
当这两个字符组合在一起时,似乎形成了一个有效的中文符号(单独使用它们是没有意义的)
我该如何处理这些乱七八糟的字符?它们构成了一个有效的符号,对于这两个字符,Character.isDefined都返回true。从所有字符串中具体剔除这些字符代码似乎会为不同的汉字组合带来更多问题。
发布于 2012-03-02 04:17:13
使用UFT-8编码此字符将产生4个字节:
11110100 10001111 10110000 10000000
MySQL 5.0/5.1不支持4字节utf8字符,这是一个已知的限制。MySQL 5.5支持4字节的utf8字符。
https://stackoverflow.com/questions/9522780
复制相似问题