2017-04-06 168 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