[前][次][番号順一覧][スレッド一覧]

rails:1315

From: SAITO Masaru <daisaito@l...>
Date: Sat, 08 Jul 2006 11:41:21 +0900
Subject: [rails:1315] FORMから送られてくる日本語処理について

齋藤@横浜です。

このMLでは初投稿です。
よろしくお願いします。

railsで簡単なWebアプリをいくつか作りましたが、
いわゆる文字コード問題はみなさんどうやって解決していますか?

例えば、ソース、DB、HTML(フォーム含め)を全てutf-8に統一したとしても
フォームから送られてくるデータがutf-8とは限りませんよね。

その場合、paramsの文字コードを調べて、utf-8にしなければ
DBのデータ、出力HTML等が文字化けしてしまいます。

この場合元データはほぼ復元不可能なわけですが、
現在この対策として、app/controllers/application.rbで
before_filterをセットして調べてチマチマ変換しているわけですけど、
正直、スマートじゃないと感じております。

こういう日本語処理については定型的な方法があるんじゃないかと思ってます。
# 要するに車輪の再発明をしたのではないかと思っています。

ちなみに現在の設定ですが、

config/environment.rbの先頭に"$KCODE='u'"を記述
config/database.ymlのdevelopment,test,productionに"encoding: utf8"を記述
#DBはmysqlを使っています。

ソースでは、
app/controllers/application.rbの
before_filterで@paramsの内容を調べて必要があればutf8に変換(nkfで)
とafter_filterで@headers['Content-type']に";charset=utf-8"を追加。

あとはviewのテンプレートの.rhtmlにmetaタグでもutf-8を書いています。

こんな感じです。




--
ML: rails@r...
使い方: http://QuickML.com/

[前][次][番号順一覧][スレッド一覧]

->    1315 2006-07-08 04:41 [daisaito@l...       ] FORMから送られてくる日本語処理について  
      1316 2006-07-08 11:41 ┣[someeda@g...        ]                                       
      1317 2006-07-08 13:25 ┃┗[daisaito@l...       ]                                     
      1318 2006-07-08 14:49 ┃ ┗[fuj@r...            ]                                   
      1319 2006-07-08 15:53 ┃  ┗[daisaito@l...       ]                                 
      1320 2006-07-08 16:09 ┃   ┣[bsdmad@g...         ]                               
      1321 2006-07-08 17:32 ┃   ┃┗[daisaito@l...       ]                             
      1327 2006-07-09 16:54 ┃   ┗[fuj@r...            ]                               
      1322 2006-07-07 18:40 ┗[y-yamasaki@s...     ]                                       
      1326 2006-07-09 12:21  ┗[daisaito@l...       ]