Я могу установить строковое кодирование по умолчанию на Ruby 1.9?

Это могло бы звучать незначительным, но это сводило меня с ума. Начиная с выпуска приложения к производству в прошлую пятницу на Ruby 1.9, у меня было много незначительных исключений, связанных с кодировками символов. Почти все это - некоторая вариация на:

Encoding::CompatibilityError: incompatible character encodings: ASCII-8BIT and UTF-8

Мы сделали, чтобы международный пользователь базировался, таким образом, много имен содержит умляуты, и т.д. Если я фиксирую шаблоны для использования force_encoding в наборе мест, он открывается в помощнике сообщения "молния". И так далее.

В данный момент похоже, что я закрепил все те, я знал о путем исправления конкатенации строк ActiveSupport в одном месте и затем путем установки # encoding: utf-8 во главе каждых из моих исходных файлов. Но чувство, что мне, возможно, придется не забыть делать это для каждого файла каждого проекта Ruby я когда-либо, делает с этого времени, навсегда, только для предотвращения строковых проблем присвоения, не устраивает в моем животе. Я читал о - переключателе Ku, но все, кажется, предупреждает, что это для назад совместимости и могло бы уйти в любое время.

Так мой вопрос для 1.9-опытных людей: устанавливает #encoding в каждых из моих действительно необходимых файлов? Существует ли разумный способ сделать это глобально? Или, лучше, способ установить кодировку по умолчанию на нелитеральных значениях строк, которые обходят внутренние/внешние значения по умолчанию?

Заранее спасибо за любые предложения.

17
задан SFEley 19 January 2010 в 17:30
поделиться