2013-03-13 111 views
1

我得到这个数据如何显示俄文字符正确

\U2013\U00ee\U2013\U00b5\U2014\U00c7\U2014\U00c5\U2013\U222b\U2013\U220f\U2013\U00b5 \U2013\U00f8\U2013\U00b5\U2014\U00c5\U2013\U03a9\U2013\U220f - \U2013\U00f5\U2013\U00ef\U2013\U00ed \U2013\U00f2 \U2013\U00eb\U2013\U2020\U2013\U00ea\U2013\U00ee\U2013\U00fb\U2013\U00eb\U2013\U2020\U2013\U00ef\U2013\U00f4 

我需要显示它。如果我在UILabel显示,它会显示如:

î–µ—Ç—Å–∫–∏–µ –ø–µ—Å–Ω–∏ - –õ–ï–í –ò –ë–†–ê–î–û–ë–†–ï–ô 

什么控件将正确显示字符?

+0

也许会帮助你http://stackoverflow.com/questions/2294390/showing-asian-unicode -string合的UILabel – SAKrisT 2013-03-13 13:08:39

+0

ahaha “U” 必须是一个小写的 “u” http://stackoverflow.com/questions/1329554/uilabel-displaying-unicode-characters – SAKrisT 2013-03-13 13:09:19

+0

它看起来像一个有效结果,请在任何浏览器地址栏使用以下命令检查它:'javascript:alert('text that you think is a valid unicode')' – 2013-03-13 13:12:01

回答

1

我认为问题不在于选择正确的控制 - 任何UI控件应该能够做到这一点。

我怀疑你的问题在于解码上述字符串并为其分配正确的编码。

请告诉我们,从上面的数据创建的NSString的代码,我相信这个谎言你的错误。

另外,看起来你的代码根本不是西里尔文。在这里看到的西里尔字母和它们的代码的例子(Unicode)的:

http://webdesign.about.com/od/localization/l/blhtmlcodes-ru.htm

而这里的西里尔字母的等效输出:

NSString *s = @"\u0414\u0411"; 
NSLog (@"%@", s); 

打印:ДБ

人体工程学,你自己的代码是正确的,但你没有西里尔字母代码。

0

首先你的Unicode字符串是错误的(提示ü必须小写字母)

使用此代码

NSString *str = @ "\u00fb\u2013\u00eb\u2013\u2020\u2013\u00ef\u2013\u00f4"; 

    const char *getchar = [str UTF8String]; 
    NSString *getText = [NSString stringWithCString:getchar encoding:NSUTF8StringEncoding]; 

    NSLog(@"getText %@", getText); 

输出

的getText U型E-†-i-O

+0

该代码是不必要的复杂。 getchar和getText行是多余的。简单的做:NSLog(@“%@”,str); – 2013-03-13 13:22:16