@Kelvin Я получаю некоторые из этих ошибок на 2.2.0 (-preview1), и -Ku исправил это, но я чувствую себя плохо, используя что-то, что (очевидно?) Устарело ...

у портировать приложение rails с Ruby 1.8.7 на 1.9.2. Некоторые файлы содержат умлауты, такие как ä / ö / ü, как в строках, так и в комментариях. Файлы были сохранены как UTF-8, но безBOM (метка порядка байтов) в начале.

Как вы, возможно, знаете,Ruby 1.9 отказывается анализировать эти файлы, даваяinvalid multibyte char (US-ASCII)

Я гуглил и много читал, но, похоже, единственным решением этой проблемы является

вставить спецификацию иливставить# coding: utf-8

в началекаждый файл.

Мой редактор выбора (gEdit), похоже, не вставляет спецификацию. Я также читал, что наличие спецификации является плохой практикой, поскольку она может нарушить работу некоторых редакторов, а также нарушает работу сценариев оболочки, если вы хотите использовать обозначение shebang.

РЕДАКТИРОВАТЬ: Спецификация нарушает синтаксический анализатор Ruby 1.8.7, даваяsyntax error, unexpected kEND, expecting $end (SyntaxError) для файла!

Я попытался форсировать внешнюю кодировку с помощью ruby ​​-Eutf-8: utf-8, но, похоже, это игнорируется при вызове rake (я попытался: /home/malte/.rvm/gems/ruby-1.9.2-p180/bin/rake контрольная работа).

Итак, мой вопрос:

Так как RVM в любом случае собирает ruby ​​1.9 из источника,есть ли опция сборки или патч для изменения кодировки по умолчанию с US-ASCII на UTF-8?

Я быстро взглянул на исходный код, но не смог найти строку, где установлено значение по умолчанию (я не эксперт по Си, круто).

Ответы на вопрос(1)

Ваш ответ на вопрос