2010-12-29 6 views
0

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) %> 

が、私はその「£」の文字が再び関与していることを偶然とは思えないんだけど、私の最初のビューのエラーを得ました。どのようにこれを解決するための任意のアイデアですか?

おかげ

+0

"醜い" ソリューションに格下げ:\ x00A3と£を交換してください。 'gbp_symbol =" \ x00A3 "'を定義し、それを£の代わりに使用します。 – Zabba

+0

Zabbaありがとうございますが、これは "£"の代わりに "A"をレンダリングします – dangerousdave

+0

これはソースファイル(「魔法のコメント」で解決したもの)ではなく、読み取りIOオブジェクトのエンコードと関係があるかもしれません。説明については、http://blog.grayproductions.net/articles/ruby_19s_three_default_encodingsを参照してください。 –

答えて

2

私は、Rubyのバージョン1.8.7

+1

* facepalm * [エンコード](http://www.ruby-doc.org/core-1.9.3/String.html#method-i-encode)を試してください。 – maletor

+0

これは私のために働いた。主人公にしないでください。 –

関連する問題