互換性のない文字エンコーディング: レンダリング アクションでの UTF-8 および ASCII-8BIT
概要
# GET /posts/new
def new
if params[:post]
@post = Post.new(post_params).dup
if @post.valid?
render :action => "confirm"
else
format.html { render action: 'new' }
format.json { render json: @post.errors, status: :unprocessable_entity }
end
else
@post = Post.new
@document = Document.new
@documents = @post.documents.all
@document = @post.documents.build
end
なぜそうなるのか分かりません。
解決策
ここからの解決策: http://rorguide.blogspot.in/2011/06/incompatibility-character-encodings-ascii.html
上記の解決策が役に立たない場合は、Haml テンプレートの一部をファイルにコピー/貼り付けしたか、非 Unicode/非 UTF-8 フレンドリーなエディターを使用しているかのどちらかだと思います。
UTF-8 対応エディターでそのファイルを最初から再作成できる場合。どのプラットフォームにも対応できるものがたくさんあるので、問題が解決するかどうかを確認してください。
場合によっては、次のようなエラーが発生することがあります。
これは通常、2 つの文字列を連結しようとして、一方の文字列にもう一方の文字列の文字セットにマップされない文字が含まれているために発生します。 ISO-8859-1 には UTF-8 に同等の文字がない文字があり、その逆も同様であり、これらの非互換性を持つ文字列結合を処理する方法にはプログラマが介入する必要があります。