Подтвердить что ты не робот

Установите UTF-8 в качестве кодировки строки по умолчанию в Heroku

Мне нужно изменить кодировку строки ruby ​​по умолчанию на UTF-8 в Heroku. По какой-то причине это US-ASCII.

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

Однако, если я запускаю irb локально, я получаю другой результат:

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

Оба работают на рубине 1.9.2. Я тоже пытался установить это, но не работал:

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

Идеи?

Спасибо, Фелипе

4b9b3361

Ответ 1

В соответствии с персоналом поддержки Heroku это волшебная вещь:

heroku config:add LANG=en_US.UTF-8

Хотя heroku console будет хранить кодировку строк в формате ASCII-8BIT, ваше приложение-приложение будет работать с правильной кодировкой на основе 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>