2008年08月20日

[cakePHP1.2]hヘルパー(htmlspecialchars)で正しくエスケープする その2

cakePHP内では、取り扱うデータベース、PHPの定義ファイル、出力ファイル(ctpファイル)の文字コードは出来るだけ合わせたほうがよい。

できれば、世界標準であるUTF-8で統一するのが望ましい。

但し、日本国内の携帯サイトを構築する場合は、画面表示をShift_JISとしたほうがよい。

取り扱うデータベース、PHPの定義ファイル、出力ファイル(ctpファイル)を全てShift_JISで統一するのが望ましいが、運用上、異なる文字コードが混在せざるを得ないケースがある。

これを実装するための方法。

(例)
・取り扱うデータベースは、UTF-8
・PHPの定義ファイル、出力ファイル(ctpファイル)は、Shift_JIS

/app/config/core.php
/**
* Application wide charset encoding
*/
Configure::write('App.encoding', 'Shift_JIS');
・内部文字コードを、Shift_JISにする。


/app/controllers/hoge_controller.php
$hogehoge = h($this->data['Hoge']['keyword'],"UTF-8");
・h関数を通すとき、文字コードに"UTF-8"を指定する。
 指定しておかないと、App.encodingで指定した"Shift_JIS"がデフォルトとなり、
 誤変換がなされる。
・この例は、Formヘルパーから受け取ったデータの文字コードが UTF-8であるときの方法。





タグ:cakephp
posted by surviver at 22:27 | Comment(0) | TrackBack(0) | cakePHP
この記事へのコメント
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。