Как установить кодировку файла при использовании File#open
?
Как указать кодировку выходного файла в Ruby?
Ответ 1
Вот пример, который выводит файл в кодировке UTF-16LE:
open("data.txt", "w:UTF-16LE")
Ruby смотрит на кодировку строки, которую вы пишете, и перекодирует по мере необходимости. Здесь очень подробный пост в блоге, описывающий механику с отличными примерами (см. Раздел "Внешние и внутренние кодировки по умолчанию" ).
Ответ 2
В этом блоге также есть куча замечательной информации о кодировке символов с Ruby, включая сообщение о кодировании с Ruby 1.8.
Ответ 3
Здесь можно прочитать страницы с японской кодировкой JIS Shift:
file = open(url, "r:Shift_JIS")