Установите глобальную кодировку по умолчанию для ruby ​​1.9

Я хочу сказать ruby, что все это utf8, если не указано иное, поэтому мне не нужно размещать эти комментарии # encoding: utf-8 везде.

Ответ 1

Вы можете:

Ответ 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'