web-dev-qa-db-ja.com

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が必要ですか?

27
Lai Yu-Hsuan

config.encoding = "utf-8"config/application.rb部分は、Railsがコンテンツを解釈する方法に関連しています。

Rubyファイル内の#encoding: utf-8は、このファイルに非ASCII文字が含まれていることをRubyに伝えます。

これら2つのケースは異なります。最初の(config/application.rb内の)はRails何かを示し、Ruby自体がソースファイルを解釈する方法とは何の関係もありません。

怠惰でRubyに自動的にRUBYOPT=-Kuファイルのデフォルトファイルエンコーディングを.rbに設定する場合は、環境変数utf-8を設定できますが、非ASCIIビットを翻訳ファイルに入れ、I18n.tで参照することをお勧めします。

41
Frost