2012-01-04 1 views
0

레이크 빌드에서 파일로 출력 할 때 문자 "ä"에 문제가 있습니다. TeamCity 환경 변수에서 문자열의 일부로 레이크에 전달됩니다. 다음 코드로 파일에 출력됩니다.TeamCity Rake 환경 변수 ASCII-8BIT에서 UTF-8로 Encoding :: UndefinedConversionError : " x84"

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

문자는 "" "로 출력됩니다.

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

을하고이 :: 오류에

인코딩 결과 UndefinedConversionError : 그래서 우리는 시도 "\의 X84을"ASCII-8BIT에서하는 제안은 다른 곳에서 사용하는 것이 었습니다

UTF-8 force_encoding like this :

f.force_encoding("UTF-8") 

그러나이 결과 문자가 전혀 출력되지 않습니다.

정확하게 출력해야합니다.

답변

2

이 문제를 해결할 수있는 유일한 방법은 html/xhtml 코드를 사용하는 것입니다.

"ä"는 ä입니다. TeamCity는 파일을 ASCII 코드로 렌더링하지만 파일을 열 때 올바르게 읽습니다.

코드 목록을 보려면이 페이지를 참조하십시오. 작동하려면 모두 코드를 변경해야합니다. http://webdesign.about.com/library/bl_htmlcodes.htm