Ruby не будет хорошо играть со строками UTF-8. Я передаю данные в файл XML, и хотя документ XML указан как UTF-8, он обрабатывает кодировку ascii (два байта на символ) как отдельные символы.
Я начал кодировать входные строки в формате '\ uXXXX', однако я не могу понять, как преобразовать это в фактический символ UTF-8. Я искал все на этом сайте и Google безрезультатно, и мое разочарование сейчас довольно высоко. Я использую Ruby 1.8.6
По сути, я хочу преобразовать строку '\ u03a3' -> "Σ".
Что у меня было:
data.gsub /\\u([a-zA-Z0-9]{4})/, $1.hex.to_i.chr
Что, конечно, выдает ошибку «931 вне диапазона символов».
Спасибо
Тим