2013-01-05 91 views
0

我有一些文字格式問題需要解決。我有一些奇怪的字符從NSString的下方顯示如何正確編碼一些文本

原始字符串:

NSString *descriptionStringPreFormatted = [item objectForKey:@"title"]; 

格式的字符串:

NSString *descriptionLabelStringUTF8 = [descriptionStringPreFormatted stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

    NSLog(@"descriptionStringPreFormatted is %@", descriptionStringPreFormatted); 
    NSLog(@"descriptionLabelStringUTF8 is %@", descriptionLabelStringUTF8); 

這裏的輸出是同我是否使用UTF8編碼或不。

輸出:

2013-01-05 16:44:51.807 descriptionStringPreFormatted is £144.99... 

2013-01-05 16:44:51.810 descriptionLabelStringUTF8 is £144.99... 
+2

你期望字符串是什麼?另外我相信NSString會將字符串數據默認存儲爲utf8 –

+0

某些字符串顯示爲:「144.99 ...」而不是「144.99英鎊......」注意£符號的「infront」。我得到的字符串來源顯示爲「£144.99 ...」,所以我不知道發生了什麼 – hanumanDev

+1

你是如何創建字符串? –

回答

1

我認爲你是從Web服務接收字典 「項目」。因此,嘗試使用NSUTF8StringEncoding從webservice解碼該響應字符串。 NSString * str = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding]; 這裏「responseData」是來自Web服務的原始數據。

+0

感謝響應。如果我想在該示例中使用stringWithContentsOfURL:而不是initWithData,該怎麼辦?我目前通過JSON格式的URL獲取數據 – hanumanDev