- 更新日: 2014年4月15日
- Rails
ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT)
スポンサーリンク
Rails アプリケーションで、ビューのテンプレートファイル (html.erb) で出力時に、表題のエラーが発生しました。ASCII-8BIT が文字列に混ざっていると出るエラーらしい。
【お知らせ】 英単語を画像イメージで楽に暗記できる辞書サイトを作りました。英語学習中の方は、ぜひご利用ください!
スポンサーリンク
— 環境 —
Rails 4.0.1
エラーメッセージの詳細
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Completed 500 Internal Server Error in 38ms ActionView::Template::Error (incompatible character encodings: UTF-8 and ASCII-8BIT): 2: *** 3: *** 4: *** 5: *** 6: *** 7: *** 8: *** app/views/users/***.html.erb:5:in `block in *** ... Rendered vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_trace.erb (1.2ms) Rendered vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/_request_and_response.erb (1.0ms) Rendered vendor/bundle/ruby/2.0.0/gems/actionpack-4.0.1/lib/action_dispatch/middleware/templates/rescues/template_error.erb within rescues/layout (11.9ms) |
force_encoding(“utf-8”) を追加する
解決策としては、encoding エラーを起こしているビューの箇所に、force_encoding(“utf-8”) を足します。
1 |
<%= @string.force_encoding("utf-8") %> |
これで一応直りました。エラー箇所が多い場合はモンキーパッチを使う方法もあるらしいので、その際は以下参考リンクにいくつか情報があります。
- – 参考リンク –
- Rails 4: incompatible character encodings: UTF-8 and ASCII-8BIT – Stack Overflow
- Ruby on Rails Handling UTF-8 within escape_javascript – Stack Overflow
- ruby on rails – incompatible character encodings: ASCII-8BIT and UTF-8 – Stack Overflow
- ruby on rails – incompatible character encodings: UTF-8 and ASCII-8BIT – Stack Overflow
- masayuki.log: incompatible character encodings: ASCII-8BIT and UTF-8
- Ruby1.9でRailsる
スポンサーリンク
パーフェクト Ruby on Rails は、最近読んだ Rails 本の中では一番役に立った本です。Chef や Capistrano など Rails と共によく使用される技術にも触れてあります。Ruby on Rails 4 アプリケーションプログラミングは、入門的な内容で Rails の機能全体を網羅されています。
- Rails の関連記事
- RailsでMySQLパーティショニングのマイグレーション
- Rails ActiveRecordでdatetime型カラムのGROUP BY集計にタイムゾーンを考慮する
- RailsプラグインGemの作成方法、RSpecテストまで含めたrails pluginの作り方
- RailsでAMPに対応するgemをリリースしました
- Railsでrequest.urlとrequest.original_urlの違い
- Railsでwheneverによるcronバッチ処理
- Google AnalyticsのRails Turbolinks対応
- Railsアプリにソーシャル・シェアボタンを簡単設置
- Rails監視ツール用にErrbitをHerokuで運用
- Facebook APIバージョンのアップグレード手順(Rails OmniAuth)
Leave Your Message!