4
MRI 1.9.3에서 정상적으로 작동하는 레일 프로젝트가 있습니다. 내가 Rubinius 실행하려고하면 내가 app/views/layouts/application.html.haml
이 오류가 발생합니다 :ASCII-8BIT에서 UTF-8 로의 변환에서 " xC2"를 UTF-8로 변환
"\ XC2"UTF-8로 변환에서 ASCII-8BIT에서 UTF-8
MRI 1.9.3에서 정상적으로 작동하는 레일 프로젝트가 있습니다. 내가 Rubinius 실행하려고하면 내가 app/views/layouts/application.html.haml
이 오류가 발생합니다 :ASCII-8BIT에서 UTF-8 로의 변환에서 " xC2"를 UTF-8로 변환
"\ XC2"UTF-8로 변환에서 ASCII-8BIT에서 UTF-8
에이 페이지가 있었다 밝혀 잘못된 내가 코드를 다음과 같이 발견 자 (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 파일의 인코딩을 지정하지 않았으므로해야합니다.