неверная последовательность байтов в US-ASCII (Ruby 1.9 + rails 2.3.8 + mongodb + mongo_mapper) - PullRequest
15 голосов
/ 07 июля 2010

Моя настройка:

linux + Ruby 1.9 + rails 2.3.8 + mongodb + mongo_mapper

Я следил http://railscasts.com/episodes/194-mongodb-and-mongomapper,, что сначала все в порядкеЯ могу вставлять английские строки успешно, но когда я вставляю некоторые китайские строки, они вставляются, но не могут отображаться.

На веб-странице отображается исключение:

invalid byte sequence in US-ASCII 

Я использую mongo команда, чтобы увидеть данные в mongodb, и это правильно.Но я не знаю, почему рельсы не могут их отображать.

заранее спасибо

Ответы [ 6 ]

20 голосов
/ 25 апреля 2011

Пожалуйста, добавьте следующие строки в вашем environment.rb.

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

Проблема будет решена.

18 голосов
/ 28 апреля 2012

Вы можете исправить эту ошибку, написав

export LC_ALL="en_US.UTF-8"

на ~/.profile, ~/.bash_profile или аналогичный. Это работает как шарм.

5 голосов
/ 16 июня 2011

У меня была эта ошибка с приложением Rack.

Добавление

   Encoding.default_external = Encoding::UTF_8

   Encoding.default_internal = Encoding::UTF_8

до config.ru разрешено для меня.

1 голос
/ 15 октября 2013
cd $HOME
vi .bashrc

добавить локаль conf ниже:

export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"
export LC_CTYPE=en_US.UTF-8

сохранить и запустить: источник ~ / .bashrc

Все хорошо ~

0 голосов
/ 04 апреля 2014

Для меня проблема заключалась в том, что я использовал более старую версию ruby. rvm use 2.0 сделал свое дело.

0 голосов
/ 18 августа 2013

проверьте ваши locale настройки вашей ОС.Вам нужно установить переменную окружения en_US .UTF-8`, иначе вы можете столкнуться с этой проблемой.

Если ваша операционная система Ubuntu, то вы можете проверить locale, введя следующую команду.

sudo locale

и затем вы можете перенастроить вашу локаль, набрав следующую команду

sudo locale-gen en_US.UTF-8

Это может помочь вам.Спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...