携帯サイト構築時の文字コード変換(@paramsとrequest.body)
現在JpmobileとMobile on Railsを使って携帯サイト構築の勉強中。
で、携帯はShift_JISの世界で、RailsはUTF-8の世界なので、文字コード変換が必要になったので勉強した。
Rubyの文字コード変換には、KconvとNKFというのがあるらしい。
Kconvは文字コードを自動判定してくれるらしいが、自動でいろいろやる部分が逆に失敗したりするらしいので、文字コードが分かってるときにはNKFを使う方が良い。
ということで、Jpmobileのページにあるto_sjisメソッドはKconvを使ってるが、こいつをNKFを使うように変更した。
$RAILS_ROOT/app/controllers/application_controller.rb内に以下のメソッドを定義すれば良い。
これで、携帯から送られて来た全フォームのパラメータがUTF-8に変換され、携帯へのHTML表示時にすべての(UTF-8エンコーディングされた)文字がShift_JISに変換される。











