Переменные среды TeamCity Rake Encoding :: UndefinedConversionError: "\ x84" из ASCII-8BIT в UTF-8 - PullRequest
0 голосов
/ 04 января 2012

У нас возникают проблемы с символом "ä" при выводе в файл в сборке с рейком.Он передается в rake как часть строки в переменной среды TeamCity.Затем он выводится в файл со следующим кодом:

output = File.new("#{path}", "w")
output.write("#{content}")
output.close

символ выводится как «„ ».Итак, мы попробовали:

File.open("#{path}", "wt", encoding: 'UTF-8') do |f|
    f.puts "#{content}"
end

и это приводит к ошибке

Encoding :: UndefinedConversionError: "\ x84" из ASCII-8BIT в UTF-8

В другом месте было предложено использовать force_encoding следующим образом:

f.force_encoding("UTF-8")

, но это не приводит к выводу символов вообще.

Нам нужен правильный вывод символов.

1 Ответ

2 голосов
/ 05 января 2012

Единственный способ обойти это - использовать коды html / xhtml.

Значение "ä" равно ä. TeamCity отображает файл с кодом ascii, но он правильно читается при открытии файла.

См. На этой странице список кодов - вам нужно изменить их все, чтобы он работал: http://webdesign.about.com/library/bl_htmlcodes.htm

...