2013-04-25 2 views

답변

9

에이 페이지가 있었다 밝혀 잘못된 내가 코드를 다음과 같이 발견 자 (AN 가운뎃 점 '·'), (this gist 크레딧과 this question) :

lines = IO.readlines("app/views/layouts/application.html.haml").map do |line| 
    line.force_encoding('ASCII-8BIT').encode('UTF-8', :invalid => :replace, :undef => :replace, :replace => '?') 
end 

File.open("app/views/layouts/application.html.haml", "w") do |file| 
    file.puts(lines) 
end 

이 코드를 실행 한 후, 나는 간단한에 문제가있는 문자를 찾을 수3210을 입력하고 상단에 # encoding: utf-8이라는 도우미 파일로 코드를 옮겼습니다. 이것이 MRI에서 실패하지 않는 이유는 모르겠지만 haml 파일의 인코딩을 지정하지 않았으므로해야합니다.