我有一个带有SayController、hello操作和查看模板say/hello.html.erb的Rails应用程序。当我添加像"ю“这样的西里尔字母时,我会得到一个错误:
ArgumentError in SayController#hello
invalid byte sequence in UTF-8
头:
{"Cache-Control"=>"no-cache",
"X-Runtime"=>"11",
"Content-Type"=>"text/html; charset=utf-8"}如果我想用嵌入式Ruby写这封信,
<%= "ю" %>我没有发现任何错误,但它用黑色方块(�)显示问号,而不是这封信。
我使用Windows7 x64,Ruby1.9.1p378,Rails 2.3.5,WEBrick服务器。
发布于 2010-05-04 13:44:40
在您的_app/config/initializers下创建一个初始化程序文件(例如encoding_fix.rb),其内容如下:
Encoding.default_internal = Encoding::UTF_8 if RUBY_VERSION > "1.9"
Encoding.default_external = Encoding::UTF_8 if RUBY_VERSION > "1.9"这将编码设置为utf8。
https://stackoverflow.com/questions/2764079
复制相似问题