gpt4 book ai didi

java - 特殊unicode字符导致MySQL JDBC异常

转载 作者:行者123 更新时间:2023-11-29 04:53:05 25 4
gpt4 key购买 nike

我将我们遇到的一个问题隔离为一个简单的测试:

尝试使用参数值在长文本列类型上运行直接 JDBC 插入或更新新字符串(新字符[]{0xDBFF, 0xDC00});

发生异常说明:“不正确的字符串值:列的 '\xF4\x8F\xB0\x80'”

看起来这两个字符配对在一起时,形成一个有效的中文符号(单独它们是无意义的)

我该如何处理这些乱七八糟的字符?它们形成一个有效的符号,并且 Character.isDefined 对这两个字符都返回 true。从所有字符串中专门去除这些字符代码似乎会引发更多汉字不同组合的问题。

最佳答案

UFT-8 编码这个字符将产生 4 个字节:

11110100 10001111 10110000 10000000

MySQL 5.0/5.1 不支持 4 字节 UTF8 字符,这是一个已知的限制。MySQL 5.5 支持 4 字节 UTF8 字符。

参见 9.1.10. Unicode Support

关于java - 特殊unicode字符导致MySQL JDBC异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9522780/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com