/ / Как да получите i'th герой от utf-8 String в Ruby 1.8.7? - рубин на релси, рубин, рубин на релси-3, utf-8, руби-1.8

Как да получите i'th герой от utf-8 String в Ruby 1.8.7? - рубин на релси, рубин, рубин на релси-3, utf-8, руби-1.8

Като се има предвид следната константа:

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 за отговор № 1

В релсите имаш многобайтовите подкрепа, просто преобразувайте вашия низ в обвивка клас от релси:

RUSSIAN_LOWERCASE_ALPHABET = "...".mb_chars

и след това можете да изберете знак с RUSSIAN_LOWERCASE_ALPHABET[0].