gpt4 book ai didi

objective-c - iOS下的Unicode问题

转载 作者:行者123 更新时间:2023-12-01 17:45:43 25 4
gpt4 key购买 nike

我有一个带有单词列表的SQLite数据库。在一个表中,有一个单词列表,其中包含单词“você”。这个词在Unicode“voc \ U00ea”中具有这种表示形式。

我发现相同的单词可以具有以下表示以及相同的视觉输出:

"voc\U00ea",
"voce\U0302"

当我使用第二种表示形式查询数据库时,它返回空白。有谁知道使用两种表示方式进行查询而不复制表中记录的方式?

谢谢,
米格尔

最佳答案

这两种形式被称为nfc(正态形式组成)和nfd(“正态形式分解”)。字母\U0302被称为“组合回旋符”,它会修改前面的字母。

为了应对这种情况,请执行以下操作:

  • 选择规范化。通常选择nfc是个好主意。 (尽管iOS / OS X文件系统使用nfd。)
  • 在将字符串放入数据库之前,请始终进行规范化。在iOS中,您可以使用 precomposedStringWithCanonicalMapping precomosedStringWithCompatibilityMapping 。要了解规范映射和兼容性映射之间的区别,请参见this description
  • 在执行查询之前,请始终将查询规范化为相同的标准格式。
  • 关于objective-c - iOS下的Unicode问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6803655/

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