US-ASCII中的无效字节序列(Ruby 1.9 + rails 2.3.8 + mongodb + mongo_mapper)

Fre*_*ind 14 ruby-on-rails mongodb

我的设置是:

linux + Ruby 1.9 + rails 2.3.8 + mongodb + mongo_mapper

我跟着http://railscasts.com/episodes/194-mongodb-and-mongomapper,一切都好.我可以成功插入英文字符串,但是当我插入一些中文字符串时,它会插入,但无法显示.

该网页显示一个例外:

invalid byte sequence in US-ASCII 
Run Code Online (Sandbox Code Playgroud)

我使用mongo命令查看mongodb中的数据,这是正确的.但我不知道为什么rails无法显示它们.

提前致谢

Ram*_*vel 19

请在您的environment.rb中添加以下行.

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)

问题将得到解决.


aga*_*rie 18

您可以更正此错误来写这个

export LC_ALL="en_US.UTF-8"
Run Code Online (Sandbox Code Playgroud)

~/.profile,~/.bash_profile或者类似的.它就像一个魅力.


Mul*_*ins 5

我在Rack应用程序中遇到此错误.

添加

   Encoding.default_external = Encoding::UTF_8

   Encoding.default_internal = Encoding::UTF_8
Run Code Online (Sandbox Code Playgroud)

config.ru解决这对我来说.