Как предотвратить ошибку «преобразователь кода не найден (UTF-8)»? - PullRequest
6 голосов
/ 27 марта 2012

Я получаю эту ошибку в своей производственной среде (CentOS 5.6), но она отлично работает в разработке (Ubuntu 11.04).В обеих средах приложение использует Ruby 1.9.3 и Rails 3.0.9 и поставляется с passenger и nginx.Моя версия механизированного драгоценного камня - 2.3.

code converter not found (UTF-8)

Последняя строка этого кода вызывает его:

mech = Mechanize.new
page = mech.get("http://myurl.com/login.php?login_name=a&password=b")
form = page.form_with(:name => "loginForm")
form.field_with(:name => "active_pgm").value = '1'
page = form.submit

Есть идеи?У меня в приложении config.encoding = "utf-8" .rb.

Ответы [ 2 ]

1 голос
/ 03 апреля 2012

Это длинный снимок, но, возможно, он поможет вам, потому что я видел похожие ошибки в RHEL для других гемов разбора.

Решение, которое я нашел, было не в Rails - оно добавляло следующие строки в системную среду:

LANGUAGE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
1 голос
/ 27 марта 2012

Попробуйте изменить ваш application.rb на config.encoding = "UTF-8".Я не уверен, почему это может быть проблемой, но стоит попробовать, так как ошибка жалуется на отсутствие UTF-8 (в верхнем регистре).

...