我在iPhone應用程序中顯示一些阿拉伯文字時遇到了一些問題。當我在UILabel
上顯示它時,它顯示爲?????? ????? ??????
該字符串從服務器作爲XML來解析,並顯示在UILabel上。我不知道這是由於在iPhone或從服務器端的問題。阿拉伯字符問題
我想知道如何確定來自服務器的字符串是否具有正確的編碼,並且是有效的阿拉伯字符。
是否足夠打印每個字符的值並檢查它位於阿拉伯Unicode字符之間。 (就像字符A的ASCII值是65而Z的ASCII值是90.所以值70必須是ASCII字符)。
在服務器中,字符串使用UTF8編碼進行編碼。和用C#編寫的服務器程序。什麼是寫阿拉伯文字從服務器到iPhone的編碼方法?
我是否需要使用其他字體才能正確顯示阿拉伯字符。
在互聯網中是否有任何帶有阿拉伯語內容的XML文件,從哪裏我可以正確解析和顯示阿拉伯文字?
在此先感謝..
編輯:
當我NSLogged XML數據我有同樣的???? ???? ???
字符。
編輯
見我在控制檯有一個XML風格的數據。
<CB_SEC_COMP>
<SC_COMP_ID>9999</SC_COMP_ID>
<SCA_LONG_NAME>???? ????? ?????????? ????? ?????????</SCA_LONG_NAME>
<SCE_LONG_NAME>CHINA SECURITY & SURVEILLANCE TECHNOLOGY, INC.</SCE_LONG_NAME>
<SCA_SHORT_NAME>???? ????? ?????????</SCA_SHORT_NAME>
<SCE_SHORT_NAME>CHINA SECURITY & SUR</SCE_SHORT_NAME>
<SC_MRK_CODE>9</SC_MRK_CODE>
<SC_SEC_CODE>86</SC_SEC_CODE>
<SC_STATUS>Y</SC_STATUS>
<TICKER_ID>CSR</TICKER_ID>
<SC_MRK_TYPE_CODE>0001</SC_MRK_TYPE_CODE>
<SC_EXCHANGE>DFM</SC_EXCHANGE>
<CUR_CODE>AED</CUR_CODE>
</CB_SEC_COMP>
您是否嘗試過設置斷點和調試代碼,看看它有XML字符串中什麼樣的價值,你解析它之前,你解析後,你將它添加到以前的UILabel?你做了哪些研究來確定可以在XML中傳遞哪些字符以及以何種編碼進行傳遞? – 2012-03-27 14:34:40
你可以在你處理服務器響應的地方顯示你的iOS代碼嗎?這聽起來像它可能是在客戶端的編碼問題(因爲您確認您的服務器是UTF8編碼) – Clafou 2012-03-27 14:53:09
我不知道的是,XML在UTF8編碼,它不具有頭部像<?XML版本=「1.0 「encoding =」UTF-8「?>。它只是有一些標籤和每個標籤的值。打印到控制檯時,我會發送一部分XML。 ???? ???? ?????? 房地產指數 90000000 NO_OF_FULLY_PAIDUP_SHARES> ????? ??????? ?????? SCA_SHORT_NAME> 公司名稱 SCE_SHORT_NAME> –
rakeshNS
2012-03-28 12:20:28