In Ruby on Rails, are '#encoding: utf-8' a

2019-01-11 13:01发布

I can specify any ruby file to use specific encoding by add a comment line at its top:

#encoding: utf-8

But in Rails' config/application.rb, I found this:

config.encoding = "utf-8"

Are they different? If I have set config.encoding = "utf-8", still I need #encoding: utf-8?

1条回答
对你真心纯属浪费
2楼-- · 2019-01-11 13:32

The config.encoding = "utf-8" part in config/application.rb is related to how rails should interpret content.

#encoding: utf-8 in a ruby file tells ruby that this file contains non-ascii characters.

These two cases are different. The first one (in config/application.rb) tells rails something, and has nothing at all to do with how ruby itself should interpret source files.

You can set the environment variable RUBYOPT=-Ku if you're lazy and want ruby to automatically set the default file encoding of .rb files to utf-8, but I'd rather recommend that you put your non-ascii bits in a translation file and reference that with I18n.t.

查看更多
登录 后发表回答