2011年12月26日月曜日

[Rails3] コードに日本語を書くとエラーになる件

実行環境:
ruby 1.9.3
Rails 3.1.3
Controller や Helper など ruby のコードの中に日本語を書くと
invalid multibyte char (US-ASCII)
というようなエラーが出ます。

変数名やメソッド名だけでなく、文字列として埋め込んでもダメです。
うっかりデバッグ用に日本語を埋め込むとはじかれてしまいます。

このエラーを回避する方法は、日本語を書いたファイルの先頭に
# encoding: utf-8
もしくは
# -*- encoding: UTF-8 -*-
というおまじないを書けばOKです。

※Rails2 の時は大丈夫だったのに… というか ruby 1.9.x になってからか。

ちなみに、コメント文であれば日本語問題なく通ります。
View のファイルの中(HTMLなパート)も大丈夫です。


ま、そもそもコードの中にがっつり固定文字列を埋め込むのはよろしくないので、 「i18n 化をきちんとやりなさい」というありがたい天のお告げだと思うことにします。(^^)

0 件のコメント:

コメントを投稿