使用重音JSON响应编码问题

时间:2012-04-23 15:39:33

标签: objective-c ios5

我遇到了Json响应和重音字符的问题。我有这样的代码;

SBJsonParser *parser = [[SBJsonParser alloc] init];

        NSString *responseString = [[NSString alloc] initWithData:self.multipleData encoding:NSASCIIStringEncoding]; 

        NSDictionary *results = [parser  objectWithString:responseString ];

我尝试过UTF8编码,拉丁编码,Json本机解析器,touchJson解析器以及最佳结果,我在包含重音的NSDictionary值中得到了这个值:

html = "Ubicado en pleno campo de Barcelona, a 5 minutos del n\U00facleo urbano de la ciudad y a 7 kil\U00f3metros de las playas y el Aeropuerto.";

如何使用重音符正确地获取NSString?

非常感谢

1 个答案:

答案 0 :(得分:1)

数据的实际编码是什么?您需要使用该编码来创建字符串。看看原始字节。如果您看到重音u(\ u00FA)的C3 BA,则数据为UTF-8。如果你看到00FA,如果所有字符都是两个字节,则为UTF-16;如果不是,则为ISO-LATIN-1。

获得正确的编码后,你是如何实际打印字符串来查看它的?例如,有时NSLog或调试器用非转义序列替换非ASCII字符。你有什么可能实际上工作。