2014-12-27 7 views
1

나는 apache2 및 승객을 사용하여 레일 앱 (Airesis)을 실행하려고합니다. erb 파일에는 UTF-8로 인코딩 된 문자가 포함되어 있습니다. 나는보고있다.erb 템플릿 파일 인코딩 지정

Encoding::CompatibilityError (incompatible character encodings: ASCII-8BIT and UTF-8): 

오류는 utf-8로 인코딩 된 문자를 포함하는 erb의 줄에 해당한다. 흥미롭게도 rvm에서 완전히 동일한 설정을 가진 다른 머신에는이 문제가 없습니다. 우리가 확인할 수있는 유일한 차이점은 작동하지 않는 컴퓨터가 C를 가지고 있었기 때문에 작업 기계가 기본 로케일로 hu_HU.UTF-8을 가졌다는 것입니다. 그러나 문제는 시스템 로케일을 변경 한 후에 사라지지 않았습니다.

가 ERB 파일의 시작 부분에서

<% # -*- coding: UTF-8 -*- %> 

를 지정하려고 Application 클래스는

config.encoding = "utf-8" 

가 설정/응용 프로그램의 시작 부분에

Encoding.default_external = "UTF-8" 

를 추가했는지 확인 .rb, added

export RUBYOPT=-Ku 
은/etc/기본/아파치에

및 아파치 설정 파일에

SetEnv RUBYOPT=-Ku 

.

아무도 문제를 해결하지 못했습니다.

나는 root로 rvm을 사용하여 설치 한 승객을 포함하여 모든 루비와 관련하여 apache2를 사용합니다. 버전 : 루비 2.1.0p0 (2013년 12월 25일 수요일 수정 44,422) x86_64에 리눅스] 레일 어떤 도움 감사 4.0.56

4.0.2 승객.

답변

1

/config/application.yml에서 비 ASCII 문자를 사용하면이 오류가 발생할 수 있습니다.