直到最近,我的机器上一切正常,但几天后我不断收到错误 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_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"
关于ruby-on-rails - ruby 1.9.3 UndefinedConversionError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9044551/