如何防止错误“找不到代码转换器(UTF-8)”?

时间:2012-03-27 17:56:23

标签: ruby-on-rails ruby ruby-on-rails-3 encoding mechanize-ruby

我在我的生产环境(CentOS 5.6)中遇到此错误,但它在开发中运行良好(Ubuntu 11.04)。在这两种环境中,该应用程序都使用Ruby 1.9.3和Rails 3.0.9,并配有乘客和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

有什么想法吗?我的application.rb。

中有config.encoding = "utf-8"

2 个答案:

答案 0 :(得分:1)

尝试将您的application.rb更改为阅读config.encoding = "UTF-8"。我不确定为什么这会是一个问题但是值得一试,因为错误抱怨没有找到'UTF-8'(大写)。

答案 1 :(得分:1)

这是一个远景,但也许它会帮助你,因为我在RHEL上看到了其他解析宝石的类似错误。

我发现的解决方案不在Rails中 - 它将这些行添加到系统环境中:

LANGUAGE=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8