Ruby 1.9.2, Rails 3.0.4/3.0.5 및 Phusion Passenger 3.0.3/3.0.4를 사용하고 있습니다. 내 템플릿은 HAML로 작성되었으며 MySQL2 보석을 사용하고 있습니다. 다음 코드를 가지고 내 HAML 템플릿의 첫 번째 줄에ActionView :: Template :: Error (호환되지 않는 문자 인코딩 : UTF-8 및 ASCII-8BIT)
ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT)
오류 점 : 나는 움라우트 같은 특수 문자가있는 매개 변수를 통과 할 때, 나에게 다음과 같은 오류를 제공하는 컨트롤러 액션을 그것에 :
<!DOCTYPE html>
나의 이해는 내가 ASCII-8 비트 문자열와 연결되고있는 UTF-8 문자열을 가지고 있기 때문에이가 발생한다는 것입니다,하지만 난 내 인생이 무엇인지 알아낼 수 없기 때문 ASCII-8BIT 문자열입니다. 액션의 params가 UTF-8을 사용하여 인코딩되었고 인코딩을 추가했는지 확인했습니다. UML-8 선언을 HAML 템플릿과 루비 파일의 맨 위에 추가했는데 여전히이 오류가 발생합니다. 내 application.rb 파일뿐만 아니라 그것의 config.encoding = "UTF-8"
선언을 가지고 있으며, UTF-8의 모든 결과 다음 여기에
ENV['LANG']
__ENCODING__
Encoding.default_internal
Encoding.default_external
는 키커 : 나는 독립 승객 또는 잡종을 사용하여 내 맥 OSX에서 로컬로이 결과를 재현 할 수 없습니다 개발 또는 생산 중. 나는 리눅스에서 nginx + passenger를 실행하는 프로덕션 서버에서만 재현 할 수 있습니다. 프로덕션 서버의 콘솔에서 후자의 명령이 모두 UTF-8로 표시된다는 것을 확인했습니다.
이 같은 오류가 발생 했습니까? 어떻게 해결 했습니까?
같은 오류가있어서, 왜 Nginx/passenger 프로덕션에서 이런 일이 일어나는지 궁금합니다. LC_All이 올바르게 설정되었습니다.그러나 .env는 ASCII입니다. 로컬 서버에서 utf-8k –
가 승객 https://github.com/phusion/passenger/issues/1328에 문제를 추가했습니다. –