Rails 2.3.9が実行され、Ruby 1.9.2p0にアップグレードされました。これまでに「£」の文字が使用されている私の.RBファイルの束にRubyを1.9.2にアップグレードした後、Railsエラー「US-ASCIIで無効なバイトシーケンス」が表示される
# encoding: utf-8
を、これが動作しているようだ:私が入れられています。このコード行のための
invalid byte sequence in US-ASCI
:
<%= number_to_currency(product.price, :unit => "£", :precision => 0) %>
が、私はその「£」の文字が再び関与していることを偶然とは思えないんだけど、私の最初のビューのエラーを得ました。どのようにこれを解決するための任意のアイデアですか?
おかげ
"醜い" ソリューションに格下げ:\ x00A3と£を交換してください。 'gbp_symbol =" \ x00A3 "'を定義し、それを£の代わりに使用します。 – Zabba
Zabbaありがとうございますが、これは "£"の代わりに "A"をレンダリングします – dangerousdave
これはソースファイル(「魔法のコメント」で解決したもの)ではなく、読み取りIOオブジェクトのエンコードと関係があるかもしれません。説明については、http://blog.grayproductions.net/articles/ruby_19s_three_default_encodingsを参照してください。 –