DBVisualizer Unicode Bug



我在数据库表中插入两个(É (0xC389) and П (0xD0BF))字符时遇到了问题,该字符也具有字符集 UTF-8.和排序规则 UTF-8。这两个角色都在范围U+0800 - U+FFFF .所以,我知道这两个字符需要 16 位

奇怪的是,É (0xC389)从DBVisualizer插入到表中并正常显示,但П (0xD0BF)没有正确保存。我首先想到,可能是客户端问题,但为什么它发生在与另一个字符位于同一范围内的 1 个字符上?

我对这种行为感到非常惊讶。所以,我不明白,如果我对 UTF-8 的理解是错误的,或者它真的是一个 DBVisualizer 错误,或者我错过了什么?

你的第一句话是错误的。

您是否正在寻找拉丁文和西里尔文的混合体? 还是韩文?

UTF-8 Hex    Unicode  Visible    Meaning
C389        201=x00C9   É        LATIN CAPITAL LETTER E WITH ACUTE
D09F       1055=x041F   П        CYRILLIC CAPITAL LETTER PE
EC8E89          xC389   쎉       HANGUL SYLLABLE SSENJ
ED82BF          xD0BF   킿       HANGUL SYLLABLE KIH

也就是说,É是 Unicode U+00C9("codepoint 201"(,并且在文本中使用时编码为十六进制C389。 (等(

前两个需要

16 位 UTF-8;另外两个需要 24 位。 MySQL的CHARACTER SET utf8或utf8mb4也是如此。

看看你是否可以让DBVisualizer使用UTF-8,而不是Unicode。

相关内容

  • 没有找到相关文章

最新更新