2015-04-06 32 views
0

我打電話給一個API並收到西班牙語回覆。在瀏覽器中它看起來不錯,但是當我在應用程序中調用它時,它會顯示奇怪的字符。Restkit AFNetworking的迴應不正確

例如,在瀏覽器中我看到Automóvil,但在應用程序中我看到Automóvil

我使用RestKit:

[AFJSONRequestOperation addAcceptableContentTypes:[NSSet setWithObjects:@"text/html",@"charset=UTF-8", nil]]; 

RKObjectManager *manager = [RKObjectManager managerWithBaseURL:baseURL]; 

manager.requestSerializationMIMEType = RKMIMETypeJSON; 
[manager.HTTPClient setDefaultHeader:@"Content-Type" value:@"application/json"]; 
[manager.HTTPClient setDefaultHeader:@"Accept" value:@"application/json"]; 
[manager.HTTPClient setDefaultHeader:@"Accept-Encoding" value:@"gzip, deflate"];` 
+0

這些是[HTML字符引用](http://en.wikipedia.org/wiki/Character_encodings_in_HTML)。在你的平臺上肯定會有解碼方法。 –

+0

相關:http://stackoverflow.com/questions/1067652/converting-amp-to-in-objective-c –

+0

你如何在應用程序中測試它? – Wain

回答

0

您收到編碼的HTML實體(也稱爲「字符實體引用」)的信息。例如,ó代表ó,因爲o上的重音。

理想情況下,您將擁有一個只會以UTF-8格式向您發送所有內容的API,但如果這不可行,則需要自行解碼文本。這Stack Overflow question提供了一些解決方案。

+0

如果你只需要支持iOS 7及以上版本,我會嘗試[這種方法第一](http://stackoverflow.com/a/21901056/1445366)。 –