简体   繁体   中英

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 .

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM