2017年9月20日水曜日

Sinatra で Encoding::CompatibilityError - incompatible character encodings: UTF-8 and ASCII-8BIT:

概要

Sinatra で erb を使って HTML を出力するときに発生しました
対応策を紹介します

環境

  • CentOS 7.3.1611
  • Ruby 2.3.1p112

対応方法

res.body.force_encoding("UTF-8")

res.body は文字列です
要するに erb で表示しようとしている文字列のエンコード情報がおかしいので UTF-8 に変更してあげる感じです

erb にマジックコメントを入れることで対応できるという紹介記事もあったのですが自分はそれではできなかったので上記の対応をしました

0 件のコメント:

コメントを投稿