如何正确显示俄文字符

时间:2013-03-13 12:34:05

标签: iphone encoding

我收到此数据

\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中显示,则显示如下:

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

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

2 个答案:

答案 0 :(得分:1)

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

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

请向我们展示从上述数据创建NSString的代码,我相信这是您的错误。

此外,您的代码似乎根本不是西里尔字母。请参阅此处以获取西里尔字母及其代码(以unicode形式)的示例:

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

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

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

打印:ДБ

Ergo,您自己的代码是正确的,但那里没有西里尔字母代码。

答案 1 :(得分: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);

OutPut

getTextû-ë-†-ï-ô