ужасная проблема. Вы должны поместить это вверху каждого файла
# coding: UTF-8
ОБНОВЛЕНИЕ Используйте magic_encoding как описано для Nerian.
По сути то же самое, что и ниже, но лучше.
/ UPDATE
У меня есть задание на грабли, я не помню, где я нашел (похвала этому парню!), Который я немного изменил, чтобы это было над каждым файлом. Я слышал, что люди говорят, что вышеизложенного (то, что вы сделали) должно быть достаточно, но у меня это не работает ...
Во всяком случае, это грабли, просто скопируйте и вставьте
lib/tasks/utf8encode.rake
# coding: UTF-8
desc "Manage the encoding header of Ruby files"
task :utf8_encode_headers => :environment do
files = Array.new
["*.rb", "*.rake"].each do |extension|
files.concat(Dir[ File.join(Dir.getwd.split(/\\/), "**", extension) ])
end
files.each do |file|
content = File.read(file)
next if content[0..16] == "# coding: UTF-8\n\n" ||
content[0..22] == "# -*- coding: utf-8 -*-"
["\n\n", "\n"].each do |file_end|
content = content.gsub(/(# encoding: UTF-8#{file_end})|(# coding: UTF-8#{file_end})|(# -*- coding: UTF-8 -*-#{file_end})|(# -*- coding: utf-8 -*-#{file_end})/i, "")
end
new_file = File.open(file, "w")
new_file.write("# coding: UTF-8\n\n"+content)
new_file.close
end
end