Какая ваша локаль установлена в оболочке? В системах на основе Linux вы можете проверить это, введя команду locale
и изменив ее, например, на.
$ export LANG=en_US
Я предполагаю, что вы используете настройки локали с кодировкой UTF-8, и это заставляет Ruby предполагать, что текстовые файлы были созданы в соответствии с правилами кодирования utf-8. Вы можете увидеть это, попробовав
$ LANG=en_GB ruby -e 'warn "foo".encoding.name'
US-ASCII
$ LANG=en_GB.UTF-8 ruby -e 'warn "foo".encoding.name'
UTF-8
Для более общего понимания того, как изменилось строковое кодирование в Ruby 1.9, я настоятельно рекомендую
http://blog.grayproductions.net/articles/ruby_19s_string
(примеры кода предполагают bash или аналогичную оболочку - производные C-оболочки различны)