2013-03-13 191 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