Я хочу сказать ruby, что все это utf8, если не указано иное, поэтому мне не нужно размещать эти комментарии # encoding: utf-8
везде.
Установите глобальную кодировку по умолчанию для ruby 1.9
Ответ 1
Вы можете:
- установите для переменной среды RUBYOPT значение "-E utf-8"
- или используйте https://github.com/m-ryan/magic_encoding
Ответ 2
Если вы используете переменные среды, общий способ - использовать LC_ALL/LANG
Не установлено: возврат к US-ASCII
$ LC_ALL= LANG= ruby -e 'p Encoding.default_external'
#<Encoding:US-ASCII>
Либо установлено: это значение используется
$ LC_ALL=en_US.UTF-8 LANG= ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
$ LC_ALL= LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
Оба установлены: LC_ALL имеет приоритет
$ LC_ALL=C LANG=en_US.UTF-8 ruby -e 'p Encoding.default_external'
#<Encoding:US-ASCII>
$ LC_ALL=en_US.UTF-8 LANG=C ruby -e 'p Encoding.default_external'
#<Encoding:UTF-8>
Ответ 3
Я только что обновил с 1.9 до 2.0, но по какой-то причине внешняя кодировка по умолчанию все еще была установлена на ASCII. Я смог исправить это, набрав в терминале следующее:
export RUBYOPT='-E utf-8'