2

新しいアプリケーションを作成するときにRoRが生成するすべてのファイルが、Western(ISO-8859-1)エンコーディングで保存されているように見えることを発見しました(私はWindowsマシンでローカルに開発しています)。その結果、£などの特定の特殊文字を使用するときに問題が発生します。

  • RoRはフレームワークファイルを生成し、Western(ISO-8859-1)エンコーディングで保存する必要がありますか?
  • そうでない場合は、RoRでファイルを生成してUTF-8エンコーディングで保存し、£などの特定の文字の問題を回避するにはどうすればよいですか?

この問題に関して私が尋ねた以前の未解決の質問については、RubyonRails-£署名の問題を参照してください。

4

1 に答える 1

1

Railsは、生成されたファイルでASCII文字のみを使用します。

ASCIIファイルはUTF-8でもISO-8859-1でもありませんASCIIは両方のエンコーディングと互換性がありますが、ASCIIファイルは、特殊文字を追加するまでISO-8859-1またはUTF-8ファイルにはなりません。

£文字を追加した後でファイルを保存するときは、ISO-8859-1ではなくUTF-8を使用するようにエディターまたはIDEを設定する必要があります。エディターで構成オプションを探す必要があります。Railsはそれについて何もできません。

Ruby 1.9を実行している場合は、特殊文字を含むファイルの先頭にマジックコメントを設定することも忘れないでください(テンプレートを除く)。Ruby 1.8以前のバージョンでは、このコメントは効果がありません。

# encoding: utf-8

まったく同じ問題が、他の質問で説明した症状を引き起こします。

背景については、文字エンコードとUnicodeに関するこの(古いが優れた)記事を参照してください。

于 2010-11-11T12:36:46.087 に答える