Railsアプリを日本語化

他のトコでDBとアプリで扱う文字コードが違ってたおかげで化けてた問題で、DBの方は設定したけど、アプリの方の設定もちゃんとしないとなぁ、と言うことで、載ってた!

PJ_HOME\config\environment.rb
  ↑
各プロジェクトのルート。

これの先頭に以下追加。
$KCODE = 'u'

uがUTF8らしい。
…じゃSJISとかなんなんだろう。。

PJ_HOME\app\controllers\application.rb

のクラス内に以下追加。

class ApplicationController < ActionController::Base
 before_filter :set_charset
 protected
 def set_charset
   #コンテントタイプ指定
   @headers["Content-Type"] = "text/html; charset=utf-8"
   #DB接続時に文字コードをUTF-8に設定するSQLクエリ発行
   suppress([[ActiveRecord]]::StatmentInvalid) do
     ActiveRecord::Base.connection.execute 'SET NAMES UTF8'
   end
 end
end

スペルミスってたらすいません。。
これはフィルタ使って、各メソッド呼び出される前に文字コード指定してあげているだけ。
before_filterで処理前フィルタが出来るんだと。

で、各Viewのhedderタグにmetaタグで指定してあげればおしまい。
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

もちろん、コード書いてあるファイル自体もちゃんと文字コードあわせないと駄目。
化けないように、ちゃんとします。。。
最終更新:2009年01月21日 11:46
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。