NSString替换导致韩语或捷克语问题的字符

时间:2013-01-17 09:50:59

标签: ios nsstring

我有一个小问题,试图了解如何在韩语或捷克语的情况下正确附加NSString

背景: 我向用户提供UITextField以输入一些信息,我想记录用户在文本字段中修改的内容,以便仅在更改时保存字符串。 这样做时,我使用UITextFieldDelegate协议

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *resultingString = [textField.text stringByReplacingCharactersInRange:range withString:string];
    [(NSMutableDictionary *)self.currentModifiedObject setObject:resultingString forKey: @"textfield" ];
    return YES;
}

大部分语言都可以正常使用,但我最近收到了韩语和捷克语的报告,即组合字母存在问题,例如带重音。 在查看我在字典中记录的内容时,通过键入字母并在其后添加重音创建的带有重音的字母将按此方法记录。

例如,在捷克语中: 如果您在键盘上键入“Fideles”作为一系列字母 UITextField显示“Fideleš” 录制的字符串显示“Fideles \ U02c7”,相当于键盘序列。

我有兴趣知道从“Fideles \ U02c7”键盘输入实际生成“Fideleš”的正确方法。

感谢您的帮助,我希望有人可以帮助我解决这个问题。 亲切的问候, 大卫

我试过用:

- (NSString *)precomposedStringWithCanonicalMapping
- (NSString *)precomposedStringWithCompatibilityMapping

但是没有结果,结果字符串保持不变。

0 个答案:

没有答案