Iphone 使用umlaute编码的NSString

Iphone 使用umlaute编码的NSString,iphone,ios,nsstring,Iphone,Ios,Nsstring,我创建了一个带字符串的plist。在字符串中,我使用了umlaute,无法对其进行编码以正确显示。我的代码如下所示: NSString *myFile = [[NSBundle mainBundle] pathForResource:@"LevelText" ofType:@"plist"]; strings = [[NSDictionary alloc] initWithContentsOfFile:myFile ]; stringkeys = [strings allKe

我创建了一个带字符串的plist。在字符串中,我使用了umlaute,无法对其进行编码以正确显示。我的代码如下所示:

NSString *myFile = [[NSBundle mainBundle] pathForResource:@"LevelText" ofType:@"plist"];

    strings = [[NSDictionary alloc]  initWithContentsOfFile:myFile ];
    stringkeys = [strings allKeys];
    NSEnumerator *enumerator = [strings objectEnumerator];

    while (value = [enumerator nextObject]) {
        if(![value isEqualToString:@""]){
            NSString *right = [NSString stringWithCString:value.UTF8String encoding: NSUTF8StringEncoding];

            NSLog(@"Value: %s", right.UTF8String);
        }

    }
我将plist加载到NSDictionary对象中,然后枚举它。我还看了另一个关于stackoverflow的例子,但它不是这样工作的。Umlaut始终是这样表示的:

安√∂任


首先,去掉对
UTF8String
的所有额外调用。没有理由来回转换

while (value = [enumerator nextObject]) {
    if([value length] > 0){ // A little safer approach that is a good habit to get into
        NSString *right = value;
        NSLog(@"Value: %@", right);
    }
}

如果您仍然看到问题,请验证
LevelText.plist
是否为UTF8编码,但我怀疑上面的方法可以解决问题。

问题只是发生在控制台内部,我将字符串打印到我的TextView,一切正常。如果我应该删除帖子,也许有人应该发表评论,否则它可能会对有同样问题的人有很大帮助。。。