В Ruby on Rails '#encoding: utf-8' и 'config.encoding = "utf-8" ' разные?

Я могу указать любой файл ruby ​​для использования определенной кодировки, добавив строку комментария вверху:

#encoding: utf-8

Но в Rails 'config/application.rb я нашел это:

config.encoding = "utf-8"

Разные? Если я установил config.encoding = "utf-8", мне еще нужно #encoding: utf-8?

Ответ 1

Часть config.encoding = "utf-8" в config/application.rb связана с тем, как рельсы должны интерпретировать контент.

#encoding: utf-8 в рубиновом файле сообщает ruby, что этот файл содержит символы не ascii.

Эти два случая различны. Первый (в config/application.rb) сообщает рельсам что-то и не имеет ничего общего с тем, как сам ruby ​​должен интерпретировать исходные файлы.

Вы можете установить переменную окружения RUBYOPT=-Ku, если вы ленивы и хотите, чтобы ruby ​​автоматически устанавливал кодировку файлов по умолчанию .rb файлов по умолчанию utf-8, но я бы предпочел, чтобы вы поместили свой non-ascii бит в файле перевода и ссылку, которая с I18n.t.