2012-08-03 55 views
0

我試圖解析以下阿拉伯文內容阿拉伯語內容顯示在奇怪的字符

<type id="14"> 
<data name="title">قافية</data> 
</type> 

NSString *responseString = [request responseString]; 
NSData *xmlData=[[request responseString] dataUsingEncoding:NSUTF8StringEncoding]; 

當打印我得到如下

responseString:<?xml version="1.0" encoding="UTF-8" ?><type> 
<data name="title">ÙاÙÙØ©</data> 
</type> 

請參閱This圖像附着的反應,這是它如何顯示我的iOS應用程序的內容

請讓我知道我該如何解決這個問題

+0

看來我編碼問題。嘗試其他可用的編碼,而不是NSUTF8StringEncoding。 – Iducool 2012-08-03 11:52:59

+0

有人請求幫助 – user198725878 2012-08-04 06:00:24

回答

1

嘗試使用下面的編碼,

// The following constants are provided by NSString as possible string encodings. 

enum { 
    NSASCIIStringEncoding = 1, 
    NSNEXTSTEPStringEncoding = 2, 
    NSJapaneseEUCStringEncoding = 3, 
    NSUTF8StringEncoding = 4, 
    NSISOLatin1StringEncoding = 5, 
    NSSymbolStringEncoding = 6, 
    NSNonLossyASCIIStringEncoding = 7, 
    NSShiftJISStringEncoding = 8, 
    NSISOLatin2StringEncoding = 9, 
    NSUnicodeStringEncoding = 10, 
    NSWindowsCP1251StringEncoding = 11, 
    NSWindowsCP1252StringEncoding = 12, 
    NSWindowsCP1253StringEncoding = 13, 
    NSWindowsCP1254StringEncoding = 14, 
    NSWindowsCP1250StringEncoding = 15, 
    NSISO2022JPStringEncoding = 21, 
    NSMacOSRomanStringEncoding = 30, 
    NSUTF16StringEncoding = NSUnicodeStringEncoding, 
    NSUTF16BigEndianStringEncoding = 0x90000100, 
    NSUTF16LittleEndianStringEncoding = 0x94000100, 
    NSUTF32StringEncoding = 0x8c000100, 
    NSUTF32BigEndianStringEncoding = 0x98000100, 
    NSUTF32LittleEndianStringEncoding = 0x9c000100, 
    NSProprietaryStringEncoding = 65536 
}; 
+0

感謝您的答覆。在這個列表中我應該使用哪一個讓阿拉伯文內容顯示。 – user198725878 2012-08-03 12:18:30

+0

我不知道,但嘗試使用這個列表中的每一個..只是複製粘貼所有,併爲所有做NSLog .. – 2012-08-03 12:20:11

+0

嘗試使用[NSString stringWithUTF8String:YOURSTRING] – 2012-08-03 12:49:39

0

首先,檢查你的迴應字符串(<?xml version="1.0" encoding="Change here" ?><type>)後,它看起來我問題XML編碼類型。告訴你的網站開發人員爲阿拉伯文內容提供正確的編碼,並檢查它在瀏覽器中的響應,如果在你嘗試各種編碼後顯示正確。它一定會修復。