Objective c iOS下的Unicode问题

Objective c iOS下的Unicode问题,objective-c,ios,unicode,Objective C,Ios,Unicode,我有一个带有单词列表的SQLite数据库。在表格中有一个单词列表,其中包括“você”一词。这个词在unicode“voc\U00ea”中有这种表示形式 我发现,同一个单词可以具有以下表示形式,并具有相同的视觉输出: "voc\U00ea", "voce\U0302" 当我使用第二个表示查询我的数据库时,它返回空白。有人知道使用这两种表示而不复制表中记录的查询工作的方法吗 谢谢, 米格尔这两种形式被称为nfc(标准形式合成)和nfd(标准形式分解)。字母\U0302被称为“组合扬抑”,它修改前

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

我发现,同一个单词可以具有以下表示形式,并具有相同的视觉输出:

"voc\U00ea",
"voce\U0302"
当我使用第二个表示查询我的数据库时,它返回空白。有人知道使用这两种表示而不复制表中记录的查询工作的方法吗

谢谢,
米格尔

这两种形式被称为nfc(标准形式合成)和nfd(标准形式分解)。字母
\U0302
被称为“组合扬抑”,它修改前面的字母

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

  • 选择一个标准化。通常选择nfc是个好主意。(尽管iOS/OS X文件系统使用nfd。)
  • 在将字符串放入数据库之前,请始终进行规范化。在iOS中,您可以使用或。要了解规范映射和兼容性映射之间的区别,请参阅
  • 在执行查询之前,请始终将查询规范化为相同的正常形式

  • 这两种形式被称为nfc(标准形式合成)和nfd(标准形式分解)。字母
    \U0302
    被称为“组合扬抑”,它修改前面的字母

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

  • 选择一个标准化。通常选择nfc是个好主意。(尽管iOS/OS X文件系统使用nfd。)
  • 在将字符串放入数据库之前,请始终进行规范化。在iOS中,您可以使用或。要了解规范映射和兼容性映射之间的区别,请参阅
  • 在执行查询之前,请始终将查询规范化为相同的正常形式

  • 与其在进入数据库和所有查询时这样做,不如在进入数据库时使用decomposedStringWithCompatibilityMapping。与其在进入数据库和所有查询时这样做,当分解的StringWithCompatibilityMapping进入数据库时,您似乎可以简单地使用它。