2017-04-06 171 views
0

我正在開發支持4種不同語言的應用程序。其中一種語言是阿拉伯語。二手OpenSans字體在整個應用程序語言本地化

我得到下面的JSON響應,

"card_description" = "\U00d9\U0160\U00d9\U2026\U00d9\U0192\U00d9\U2020\U00d9\U0192 \U00d8\U00b1\U00d9\U0192\U00d9\U02c6\U00d8\U00a8 \U00d8\U00a7\U00d9\U201e\U00d8\U00af\U00d8\U00b1\U00d8\U00a7\U00d8\U00ac\U00d8\U00a9 \U00d9\U02c6\U00d8\U00a7\U00d9\U201e\U00d8\U00aa\U00d9\U2020\U00d9\U201a\U00d9\U201e \U00d8\U00a8\U00d9\U2021\U00d8\U00a7 \U00d8\U00b9\U00d8\U00a8\U00d8\U00b1 \U00d8\U00a7\U00d9\U201e\U00d9\U0192\U00d8\U00ab\U00d9\U0160\U00d8\U00b1 \U00d9\U2026\U00d9\U2020 
\n\U00d8\U00a7\U00d9\U201e\U00d9\U2026\U00d8\U00af\U00d9\U2020 \U00d9\U02c6\U00d8\U00a7\U00d9\U201e\U00d8\U00a8\U00d9\U201e\U00d8\U00af\U00d8\U00a7\U00d8\U00aa \U00d9\U0081\U00d9\U0160 \U00d8\U00a7\U00d9\U201e\U00d8\U00af\U00d8\U00a7\U00d9\U2020\U00d9\U2026\U00d8\U00a7\U00d8\U00b1\U00d9\U0192"; 

通過運行在模擬器應用之後將其轉換UTF8字符串中,我得到下面的結果。

enter image description here

使用下面的代碼顯示在標籤文本,

[cell.btnDescription setTitle:[NSString stringWithUTF8String:[[[arrCards objectAtIndex:indexPath.row] valueForKey:wCARD_DESC] cStringUsingEncoding:NSUTF8StringEncoding]] forState:UIControlStateNormal]; 

,我沒有得到正確的阿拉伯語結果。

任何人都可以幫助我嗎?

在此先感謝。

回答

1

您不需要執行以下代碼來解密阿拉伯文內容。

[cell.btnDescription setTitle:[NSString stringWithUTF8String:[[[arrCards objectAtIndex:indexPath.row] valueForKey:wCARD_DESC] cStringUsingEncoding:NSUTF8StringEncoding]] forState:UIControlStateNormal]; 

整個事情從JSON來了,他們將解碼/編碼,對你,我已經面臨着我的阿拉伯語的應用程序,以及什麼JSON開發商確實是他們添加頁眉功能即

同樣的問題
  1. header('Content-type: application/json;charset=utf-8');

和解碼由下面這個函數的值:

  • html_entity_decode
  • 請按照下面的圖片,它可能會幫助你。

    enter image description here

    感謝

    1

    我想你不需要轉換爲UTFString。 只需簡單地使用如下代碼,應該對其他語言的使用:

    [cell.btnDescription setTitle:[[arrCards objectAtIndex:indexPath.row] valueForKey:wCARD_DESC] forState:UIControlStateNormal];

    而且不用擔心JSON響應阿拉伯文字只能在日誌中顯示的那樣。

    +0

    它拋出錯誤。 :( – Gati