Ruby автоматически определяет кодовую страницу файла? - PullRequest
0 голосов
/ 14 декабря 2009

Если сохранить текстовый файл со следующим символом б U+0431, но сохранить его как файл кодовой страницы ANSI.

Ruby возвращает ord = 63. Сохранение файла с UTF-8 в качестве кодовой страницы возвращает ord = 208, 177

Должен ли я специально указывать Ruby обрабатывать ввод, закодированный определенной кодовой страницей? Если да, то как ты это делаешь?

1 Ответ

5 голосов
/ 14 декабря 2009

Это в исходном коде ruby ​​или в файле, который читается с File.open? Если он находится в исходном коде ruby, вы можете (в ruby ​​1.9) добавить его в начало файла:

# encoding: utf-8

Или вы можете указать большинство других кодировок (например, iso-8859-1).

Если вы читаете файл с File.open, вы можете сделать что-то вроде этого:

File.open("file.txt", "r:utf-8") {|f| ... }

Как и в случае с комментариями о кодировке, здесь вы также можете передавать различные типы кодировок.

...