読者です 読者をやめる 読者になる 読者になる

erubyでutf-8

Ruby


備忘:<% ERuby.charset="utf-8" %>
というのをrhtmlのファイルの先頭か、のなかのどこかに入れる。

これにより、デフォルトで西欧(ISO-8859-1)で開いてしまうことを回避できる。


解説:
RubyCGIを書くとき、erubyを使うと埋め込みで書けてとても便利です。スピードも問題ありません。この辺のことは以前書きました。

http://d.hatena.ne.jp/niming538/20080202

さて、ところが、erubyを使うと、utf-8にしたページでもIEfirefoxがいったん西欧(ISO-8859-1)で開いてしまいます。手動で明示的にUTF-8にすれば解決するのですが、ソースで開いてもちゃんと、となっている。


で、上記の方法で解決しました。<% %>で囲まれたeruby(erb)の部分はソースには現れませんので、調べるのに手間どりました。ま、しばらくすればUTF-8がデフォルトで、むしろshift-jisの設定をしないと文字化けして困る人が見に来るかもしれない。その場合は、<% ERuby.charset="shift-jis" %>というのをrhtmlのファイルの先頭か、のなかのどこかに入れる、ということかな?(未確認)