Iphone 如何从XML中删除UMLAUT?

Iphone 如何从XML中删除UMLAUT?,iphone,objective-c,xml,character-encoding,diacritics,Iphone,Objective C,Xml,Character Encoding,Diacritics,我已经尝试从XML中删除umlaults。我也使用了一些类似的代码,但仍然不起作用,所以请在我的任务中帮助我 NSString *something = [self base64StringFromData:CDATABlock length:[CDATABlock length]]; NSData *pageData=[something dataUsingEncoding:NSUTF8StringEncoding]; NSString *webpage = [NSString st

我已经尝试从XML中删除umlaults。我也使用了一些类似的代码,但仍然不起作用,所以请在我的任务中帮助我

NSString *something  = [self base64StringFromData:CDATABlock length:[CDATABlock  length]];   
NSData *pageData=[something dataUsingEncoding:NSUTF8StringEncoding];
NSString *webpage = [NSString stringWithCString:something encoding:NSUTF8StringEncoding];
NSString *torrent = [NSString stringWithUTF8String:something];
NSString *body = [NSString stringWithCString:[CDATABlock bytes] length:[CDATABlock length] encoding:NSUTF8StringEncoding];
NSData *torrent = [ objectFromEncodedData:CDATABlock];
NSString *secondtry = [NSString stringWithFormat:@"%.*s", [CDATABlock length], [CDATABlock bytes]];
NSString *secondtry = [[NSString alloc] initWithBytes:[CDATABlock bytes]length:[CDATABlock length] encoding: NSUTF8StringEncoding];
NSString *secondtry = [NSString stringWithCString:[CDATABlock bytes] encoding:NSUTF8StringEncoding];
NSString *secondtry = [NSString stringWithUTF8String:[CDATABlock bytes]];
NSString *secondtry = [NSString stringWithCharacters:[CDATABlock bytes] length:[CDATABlock length] / sizeof(unichar)];
实际上,我从XML中得到了这个标签

[CDATA[Dickensstraße, Zoo, Mitte (Stadtbezirk), Hannover, Region Hannover, 30175, Niedersachsen, Deutschland]]
它显示了这个标签,所以我在显示中得到了错误的字符串

DickensstraÃe, Zoo, Mitte (Stadtbezirk), Hannover, Region Hannover, 30175, Niedersachsen, Deutschland

首先,您必须弄清楚将文本放入CDATA块时使用了什么编码,然后对取出的数据使用相同的编码


尽管我不得不说,如果有任何方法不将文本包装在CDATA块中,我会这样做。这是对处理unicode非常好的XML的一种可怕的滥用…

看起来您正试图通过更改字符编码来实现这一点,但这不太可能奏效。你必须寻找真实的角色。您的上一个问题看起来是使用两种不同的编码查看文件。注:要正确显示代码,请将其缩进4个空格,或突出显示并单击编辑器上的“代码”按钮。实际上,我为解决方案尝试了太多代码,我一个接一个地尝试了,而不是一次尝试了所有代码。