2011-09-30 2 views
14

Heroku에서 기본 루비 문자열 인코딩을 UTF-8로 변경해야합니다. 어떤 이유로 US-ASCII입니다. 루비 1.9.2에Heroku에서 기본 문자열 인코딩으로 UTF-8 설정

 
$ irb 
ruby-1.9.2-p136 :001 > "a".encoding 
=> #<Encoding:UTF-8> 

모두 실행 : I 로컬 IRB 실행하는 경우

 
$ heroku console 
Ruby console for myapp.heroku.com 
>> "a".encoding 
=> #<Encoding:ASCII-8BIT> 

는 그러나, 나는 다른 결과를 얻을. 이 설정도 시도했지만 작동하지 않았습니다.

 
Encoding.default_internal = Encoding.default_external = "UTF-8" 

아이디어가 있습니까? 당신 실제로 사용 앱이 실행됩니다 ASCII-8BIT으로보고 문자열 인코딩을 유지합니다

 
heroku config:add LANG=en_US.UTF-8 

heroku console 있지만 :

감사합니다, 펠리페 Heroku가 지원 직원으로 당

답변

31

,이 마법 일 올바른 인코딩은 LANG config var. 다음을 통해이를 다시 확인할 수 있습니다.

 
$ heroku run bash 
Running bash attached to terminal... up, run.2 
[email protected]:/app$ irb 
irb(main):001:0> "a".encoding 
=> #<Encoding:UTF-8> 
+0

게시 주셔서 감사합니다. 이 때까지는 아무 것도 얻지 않고 모든 인코딩 작업을 시도해 왔습니다. – theschmitzer

+0

이 솔루션은 Heroku에서 실행되는 Grails 앱에서도 작동합니다. –

+1

감사합니다. 나는 마침내 잘 수 있습니다! – Gavin