Как я могу постараться не помещать волшебный комментарий кодирования сверху каждого файла UTF-8 в Ruby 1.9?

У меня есть проект направляющих с большим количеством кириллических строк в нем.

Это хорошо работало на Ruby 1.8, но Ruby 1.9 предполагает, что исходные файлы ЗАКОДИРОВАНЫ US-ASCII, если Вы не обеспечиваете # encoding: utf-8 комментарий во главе исходного файла. В той точке не рассматривают файлы US-ASCII.

Есть ли более простой способ сказать, что Ruby "Это приложение UTF8-кодируется. Рассмотрите все и какие-либо включенные исходные файлы как UTF8, если не объявлено иначе"?


ОБНОВЛЕНИЕ:

Я записал, "Как вставить кодирование: директива UTF-8 автоматически в файлах Ruby 1.9", который добавляет директиву кодирования автоматически, если она необходима.

32
задан the Tin Man 20 January 2012 в 15:34
поделиться

3 ответа

Явное лучше, чем неявное. Написание имени кодировки полезно для вашего текстового редактора, вашего интерпретатора и всех, кто хочет просмотреть файл. На разных платформах используются разные значения по умолчанию - UTF-8, Windows-1252, Windows-1251 и т. Д. - и вы можете затруднить переносимость или интеграцию платформы, если автоматически выберете одно вместо другого. Требовать более явного кодирования - это хорошо.

Было бы неплохо интегрировать ваше приложение Rails с GetText. Тогда все ваши строки UTF-8 будут изолированы от небольшого количества файлов перевода, и ваши модули Ruby будут чистыми ASCII.

4
ответ дан 27 November 2019 в 21:07
поделиться

Я думаю, вы можете либо

  1. использовать -E utf-8 аргумент командной строки для ruby ​​], либо
  2. установить ] Переменная окружения RUBYOPT в "- E utf-8"
13
ответ дан 27 November 2019 в 21:07
поделиться

Я не часто с этим сталкиваюсь, но когда мне нужно обеспечить UTF-8, я использую глобальный параметр $KCODE. Попробуйте поместить это в свой environment.rb: $KCODE = 'UTF8'

Также, вы уверены, что ваш редактор сохраняет файлы в UTF-8?

0
ответ дан 27 November 2019 в 21:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: