【问题标题】:How can i remove umlauts from XML?如何从 XML 中删除变音符号?
【发布时间】:2011-01-07 03:20:30
【问题描述】:

我试图从 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

【问题讨论】:

  • 您似乎正试图通过更改字符编码来做到这一点,这不太可能奏效。您将不得不寻找实际的字符。您的最后一个问题看起来像您正在使用两种不同的编码查看文件。 PS。要正确显示代码,请将其缩进 4 个空格,或突出显示并单击编辑器上的“代码”按钮
  • 其实我已经为解决方案尝试了这么多代码,我一次一个地尝试了,而不是全部。

标签: iphone objective-c xml character-encoding diacritics


【解决方案1】:

您首先必须弄清楚将文本放入 CDATA 块中使用的编码,然后对输出的数据使用相同的编码。

虽然我不得不说,如果有任何方法不将文本包装在 CDATA 块中,我会这样做。这是对 XML 的可怕滥用,它可以很好地处理 unicode...

【讨论】:

    猜你喜欢
    • 2015-08-30
    • 2010-09-19
    • 2012-12-10
    • 2011-04-07
    • 2012-04-29
    • 1970-01-01
    • 2017-11-18
    • 1970-01-01
    相关资源
    最近更新 更多