Ruby on Rails - кодировка сгенерированных файлов - PullRequest
2 голосов
/ 11 ноября 2010

Я обнаружил, что все файлы, которые генерирует RoR при создании нового приложения, похоже, сохраняются с использованием западной (ISO-8859-1) кодировки (я разрабатываю локально на компьютере с Windows).В результате у меня возникают проблемы при использовании определенных специальных символов, например £.

  • . Должен ли RoR генерировать файлы инфраструктуры и сохранять их с использованием западной (ISO-8859-1) кодировки?
  • Если нет, как я могу получить RoR для генерации файлов и сохранения их в кодировке UTF-8, чтобы избежать проблем с определенными символами, например £?

£ знак проблемы за предыдущий нерешенный вопрос, который я задал относительно этой проблемы.

1 Ответ

1 голос
/ 11 ноября 2010

Rails использует только символы ASCII в сгенерированных файлах.

ASCII-файлы не являются ни UTF-8, ни ISO-8859-1 . ASCII совместим с обеими кодировками, но файл ASCII не становится файлом ISO-8859-1 или UTF-8 , пока вы не добавите в него специальный символ .

Когда вы сохраняете файл после добавления символа £, вы должны обязательно настроить редактор или IDE на использование UTF-8 вместо ISO-8859-1. Вы должны искать опцию конфигурации в вашем редакторе . Rails ничего не может с этим поделать.

Если вы запускаете Ruby 1.9, также не забудьте установить волшебный комментарий вверху файла, содержащего специальные символы (кроме шаблонов). В Ruby 1.8 и предыдущих версиях этот комментарий не действует.

# encoding: utf-8

Точно такая же проблема вызывает симптомы, которые вы описываете в своем другом вопросе.

Дополнительную информацию смотрите в этой (старой, но превосходной) статье о кодировках символов и Unicode .

...