在Ruby on Rails中,'#encoding:utf-8'和'config.encoding =“utf-8”'有什么不同?

时间:2011-10-08 18:45:57

标签: ruby-on-rails ruby encoding

我可以通过在其顶部添加注释行来指定任何ruby文件以使用特定编码:

#encoding: utf-8

但是在Rails'config/application.rb中,我发现了这个:

config.encoding = "utf-8"

它们有什么不同吗?如果我设置了config.encoding = "utf-8",我还需要#encoding: utf-8吗?

1 个答案:

答案 0 :(得分:41)

config.encoding = "utf-8"中的config/application.rb部分与铁路应如何解释内容有关。

ruby文件中的

#encoding: utf-8告诉ruby该文件包含非ascii字符。

这两种情况不同。第一个(在config/application.rb中)告诉rails,并且没有任何关于ruby本身应该如何解释源文件。

如果你是懒惰的,你可以设置环境变量RUBYOPT=-Ku,并希望ruby自动将.rb个文件的默认文件编码设置为utf-8,但我宁愿推荐你将非ascii位放在翻译文件中,并用I18n.t引用它。