Ruby 1.9.3 UndefinedConversionError - PullRequest
       2

Ruby 1.9.3 UndefinedConversionError

8 голосов
/ 28 января 2012

До недавнего времени все работало нормально на моих машинах, но уже несколько дней я получаю сообщение об ошибке Encoding::UndefinedConversionError: U+2713 from UTF-8 to US-ASCII каждый раз, когда я публикую что-то из браузера на сервере.

Сначала, когда посты были задействованы, япопробовал наиболее очевидную вещь с добавлением кодировки в database.yml:

development:
  adapter: postgresql
  hostname: localhost
  port: 5432
  username: mikael
  password:
  database: dev
  encoding: utf8

Если я установлю ruby-debug19 и ruby-debug-base19 и запусту rails с:

rails s --environment=development --debug

Сейчасвсе работает нормально.Как, черт возьми, я должен выяснить причину проблемы, чтобы я мог ее исправить?

РЕДАКТИРОВАТЬ 1:

1.9.3p0 :001 > Encoding.default_internal
 => #<Encoding:UTF-8> 
1.9.3p0 :002 > Encoding.default_external
 => #<Encoding:UTF-8> 

РЕДАКТИРОВАТЬ 2: Если я запускаю в производственном режиме, все работает нормально.

Ответы [ 4 ]

14 голосов
/ 20 февраля 2013

Попробуйте установить переменные LC_ALL и LANG в вашей оболочке. Добавьте эти строки в ваш ~ / .profile, ~ / .bash_profile, ~ / .zprofile или где-то подобное - в зависимости от вашей системы.

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

Вы можете получить список всех локалей, запустив locale -a. В конце вы должны увидеть нечто подобное при запуске locale в новом окне терминала:

LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
3 голосов
/ 21 февраля 2014

У меня была эта проблема сегодня.Мой LC_ALL был пустым, но все остальное выглядело правильным в соответствии с ответом Ленарта.Изменение LC_ALL также не исправило меня.

Решением для моего проекта было обновление rspec с 2.14.6 до 2.14.7.

1 голос
/ 31 января 2012

Похоже, ошибка , о которой сообщалось в Rails 3.1.2, имеет обходной путь , и следующая версия 1.9.3 должна исправить проблему

0 голосов
/ 17 июля 2013

Мой сервер rails выдавал эту точную ошибку из своего класса логгера.

Обновившись до последней версии Rails (3.2.13), он исчез.Я просто изменил свой Gemfile и сделал хвосты обновления связки.

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