In Ruby on Rails, are '#encoding: utf-8' and 'config.encoding = "utf-8"' different?
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
?
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
.
精彩评论