ruby-on-rails - ruby 1.9.3 UndefinedConversionError

标签 ruby-on-rails ruby

直到最近,我的机器上一切正常,但几天后我不断收到错误 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: 如果我在生产模式下运行,一切正常。

最佳答案

尝试在您的 shell 中设置 LC_ALLLANG 变量。将这些行添加到您的 ~/.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"

关于ruby-on-rails - ruby 1.9.3 UndefinedConversionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044551/

相关文章:

mysql - 在 ruby​​ on Rails 应用程序中禁用 SSL 模式

ruby-on-rails - Authlogic访问 session 对象中的用户ID

ruby-on-rails - 为什么 ruby​​ base64 与其他不同?

发布请求中的 Ruby NoMethodError(未定义方法 `map')

mysql - Ruby 和 Sinatra,无法将散列密码与 BCrypt 进行比较

ruby - 使用 AWS ruby​​ sdk 时出现错误 "The security token included in the request is invalid"

ruby-on-rails - FriendlyID韩国蛞蝓

ruby-on-rails - 放置调试语句

ruby-on-rails - 在 Rails 中保存后向属性添加了奇怪的字节

ruby HTTPClient : How to use persistent connections?