在Ruby on Rails中,’#encoding:utf-8’和’config.encoding =“utf-8”’有什么不同?
我可以通过在其顶部添加注释行来指定任何ruby文件以使用特定编码:
#encoding: utf-8
但是在Rails的config/application.rb
,我发现了这个:
config.encoding = "utf-8"
他们不一样吗? 如果我设置了config.encoding = "utf-8"
,我还需要#encoding: utf-8
吗?
config/application.rb
的config.encoding = "utf-8"
部分与rails应如何解释内容有关。
#encoding: utf-8
ruby文件中的#encoding: utf-8
告诉ruby这个文件包含非ascii字符。
这两种情况不同。 第一个(在config/application.rb
)告诉rails,并且没有任何关于ruby本身应该如何解释源文件。
你可以设置环境变量RUBYOPT=-Ku
如果你是懒惰的,并希望ruby自动将.rb
文件的默认文件编码设置为utf-8
,但我宁愿建议你将非ascii位放入翻译文件和参考与I18n.t