2

在我的代码中,我下载了一个JSON在 中编码的数据UTF8,这是使用的理想选择NSJSONSerialization,但是当我得到解析的对象时,它充满了编码问题,例如:

"Jo\U00e3o e Maria - Ca\U00e7adores de Bruxas"

(它必须是“João e Maria - Caçadores de Bruxas”)。尝试用 ASCII、Unicode 等重新编码,但没有成功:

NSData *downloadedData = [NSURLConnection sendSynchronousRequest:[NSURLRequest requestWithURL:requestURL cachePolicy:cachePolicy timeoutInterval:timeoutInterval] returningResponse:NULL error:&error];
NSDictionary *serializedDictionary = [NSJSONSerialization JSONObjectWithData:downloadedData options:NSJSONReadingAllowFragments error:&error];

编辑:当我使用它打印时,它显示正确:

NSLog(@"Test: %@", [[NSString alloc] initWithData:downloadedData encoding:NSUTF8StringEncoding]);
4

2 回答 2

0

这些是 UTF8 编码的字符。格式是正确的,把它们放在一个UILabel或其他东西上,它们就会如你所愿地出现。

于 2013-05-09T15:54:44.277 回答
0

如果您需要精美的文字本身,请尝试

NSString * s = [NSString stringWithUTF8String:[<your_string> UTF8String]];
于 2016-06-12T08:58:23.147 回答