处理客观c - iphone中的特殊字符æ,ø,å

时间:2011-02-27 13:59:16

标签: iphone utf-8 nsstring

我有一个UILabel,我通过代码更改。然而,当我用字符æ,ø,å(丹麦语)创建一个NSString时,我得到一个输入转换警告。代码看起来像这样:

NSString *label=[[NSString alloc]initWithFormat:@"Prøv igen"];

我得到的警告就是这个 - 警告:输入转换由于输入字节不属于输入代码集UTF-8而停止。我可以理解ø可能不是UTF编码,但该怎么办?有谁可以给​​我一些提示,告诉我该如何解决这个问题?

此致

Bjarke

3 个答案:

答案 0 :(得分:3)

您的源代码未保存为UTF-8,但很可能是ISO-8859-1。

只需打开文件并将其重新保存为UTF-8 - 当您使用它时,您可能也应该将其设置为默认值。究竟该怎么做取决于你正在使用的编辑器。

答案 1 :(得分:2)

确保您的文件文本编码设置为UTF-8,而不是西方(ISO)或其他。您可以使用Xcode文件信息检查器来执行此操作。

http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/XcodeWorkspace/050-File_Management/file_management.html%23//apple_ref/doc/uid/TP40002677-BABICEHI

确保它为文件编码显示Unicode(UTF-8)。如果它询问您,请告诉它使用新编码重新解释您的文件。此外,您可能希望删除有问题的文本并重新输入以使其生效。

答案 2 :(得分:0)

我有同样的问题,但我的源代码文件已经是UTF-8编码所以我以不同的方式修复它。 在你的情况下,它会像

  

NSString * label = [NSString stringWithUTF8String“Prøvligen”];

我希望这会对那些偶然发现这个问题的人有所帮助