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

Ruby on rails “如何防止错误”;找不到代码转换器(UTF-8)“;?,ruby-on-rails,ruby,ruby-on-rails-3,encoding,mechanize-ruby,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,并提供passenger和nginx。我的mechanize gem版本是2.3 未找到代码转换器(UTF-8) 此代码的最后一行触发它: mech = Mechanize.new page = mech.get("http://myurl.com/login.php?login_name=a&passwo

我在我的生产环境(CentOS 5.6)中遇到了这个错误,但它在开发中运行良好(Ubuntu 11.04)。在这两种环境中,应用程序都使用Ruby 1.9.3和Rails 3.0.9,并提供passenger和nginx。我的mechanize gem版本是2.3

未找到代码转换器(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”

尝试将application.rb更改为
config.encoding=“utf-8”
。我不知道为什么这会是一个问题,但值得一试,因为错误抱怨找不到“UTF-8”(大写)。

这是一个很长的问题,但可能会对您有所帮助,因为我在RHEL上看到了其他解析gem的类似错误

我找到的解决方案不在Rails中,而是将以下几行添加到系统环境中:

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

你周围有跟踪记录吗?两台机器上都有ENV,当然。它太大了,无法粘贴,所以这里有一个链接:谢谢,但没有帮助。为了让我的应用程序继续工作,我将生产实例移动到ubuntu机器上,当然问题不会发生在那里。我可以试着安装一台新的centos机器,看看是否得到同样的结果。