2011-08-31 50 views
2

考慮下面的常數:如何從Ruby 1.8.7中的utf-8字符串獲取第i個字符?

RUSSIAN_LOWERCASE_ALPHABET = "абвгдеёжзийклмнопрстуфхцчшщъыьэюя" 

當試圖得到一個字母:

content_tag(:span, RUSSIAN_LOWERCASE_ALPHABET[0]) 

的Ruby 1.9.2確實如預期(我看到在瀏覽器中的字母),而使用Ruby工作1.8.7(我的生產環境)我看到一個數字(例如320)。

我試圖將其更改爲:

content_tag(:span, RUSSIAN_LOWERCASE_ALPHABET[0..0]) 

,但它並沒有幫助(我看到一個問號鑽石代替)。

我該如何解決這個問題?

回答

2

在Rails你有Multibyte支持,只需將您的字符串從Rails的包裝類:

RUSSIAN_LOWERCASE_ALPHABET = "...".mb_chars 

,然後你可以用RUSSIAN_LOWERCASE_ALPHABET[0]選擇字符。

+0

有關Multibyte支持的提示!非常感謝! –

相關問題