文字化け対策のためのあれこれ

In: Ruby / Rails| technology

20 4月 2007

英語と日本語の共存。
言葉で言えばひとことですが、プログラム的にはこれは結構な壁だったりします。
これがうまくいっていないことで、あちこちで文字化けが起こったり、なんてのはよくあること。
今回、ワタクシのところではDBのGUIツールが化けました。
てことで、今後起こらないようにするためにも、対策をいろいろと講じてみようかと思います。


文字化けの原因は煎じ詰めていけば、「文字コードの相違」から始まります。
Railsの場合、「UTF-8」がベースになるので、基本的にはすべてがコレになればいいわけですね。

1. environment.rbの設定

まずは【environmen.rb】から。
1行目にこんな文言を追加します。

$KCODE = "UTF8"

Rubyでは、「$KCODE」というグローバル変数で文字コードの設定を行うため。

2. application.rbの設定

次に【application.rb】。
こんな感じで、処理の最初に必ず文字コードのフィルターをかけるようにします。

class ApplicationController < ActionController::Base
  # 日本語化処理
  before_filter :set_charset

  private
  def set_charset
    headers["Content-Type"] = "text/html; charset=UTF-8"
  end
end

ここまでで、アプリ側のエンコードはOKのはず。

Comment Form

About this blog

ゆるーく、ふわーっと、興味のままに。

自分のかたわらに置いておくメモ代わり。

Photostream