2014-05-24 115 views
0

我试图做一个应用程序,用户在其中输入文本然后将其保存到数据库,但在此之前它将被添加到NSMutableArray。问题是,当我登录的阵列,它消除了编码和显示这样的文字:从NSMutableArray获取阿拉伯字符串

\U0662\U0664.\U0660\U0665.\U0662\U0660\U0661\U0664 \U0660\U0662:\U0663\U0662 \U0635 

有人可以帮我,告诉我如何重新编码的文本阿拉伯语?

编辑:在日志或界面中文本显示不正确。

+0

据我所知,这些是unicode字符。将它们显示在UILabel中,甚至在控制台中查看输出内容。 –

+0

NSLog不会花时间来确定设备的字符集设置,并以这种方式记录大多数“扩展”字符。数据仍然是正确的(如果它曾经是)并且将在UI元素中正确显示。但是请注意,如果您使用字符串<->字节数组转换而不使用UTF8字符集,则会将数据搞砸。 –

+0

(如果你因为某种原因试图使用'[NSString stringWithFormat:@“%@”,myArray]''的结果,你可以搞砸数据。) –

回答

0

记录数组并记录字符串不是一回事,并且字符串在控制台中以不同方式显示,具体取决于您的操作方式。也就是说,有记录之间的差异:

po yourArray 

po [yourArray firstObject] 

只要字符串正确显示在你的界面前后都存储在数据库中后,你应该有完全不用担心。记录数组内容时,字符串打印到控制台的方式不会影响在UI中使用标签显示时的显示方式。

+0

实际上,它在界面 – faisal60

+0

@ faisal60中完全不显示 - 所以,向后工作到故障点。什么操作破坏数据? (这叫做“调试”。) –

+0

嗯,我做了一些调试,没有发现错误,但是当我从数组中获取字符串时,它不会像显示它那样显示它,而是打印\ U0662 \ U0664。\ U0660 \ U0665。\ U0662 \ U0660 \ U0661 \ U0664 \ U0660 \ U0662:\ U0663 \ U0662 \ U0635 – faisal60