adaptable:トータルWebクリエイト

こんにちは、Webのいろんな話を書きます。

【cakephp】Ajaxヘルパーで文字化け

 カテゴリー:Webバナ

view上でjavascriptを使ってDBからデータを引っ張ろうと考えた思ったとおりスムーズに進まず久々に妥協しました。

Ajaxヘルパーの導入はprototype.jsのダウンロードと読み込みで少し躓きましたが、比較的容易に進められました。

強いて注意点を上げるなら(Ajaxヘルパーを使ってviewを書き換える際のみ、処理だけだと問題なし)、読み込むctpファイルの文字コードを「UTF-8」で作成しないと文字化けしてしまう点と、レイアウトまで読み込んでしまうので、$this->render(‘ooo’, ”); などで対応しなければいけないという事。

 

問題は、DB文字コードがSJISであるための文字化けです。

SELECT段階でエンコード変換する方法を調べるもfindAll()、find()、read()に何となく当てはめて出来るはずもなく、引っ張った配列をmb_convert_variables()で一括変換してやろうかと思ったが、上手く動かず・・・この辺からやる気がなくなってきてググるのすら止めました。

 

結果、viewファイル上でmb_convert_encoding()を用いて都度エンコードを変換するという妥協で幕を閉じました。

Ajaxヘルパーは結構使えそうなので、正しい治験を得たかったのですが、残念です。もう二度と出会いたくないです。

めずらしくネガティブなブログになってしまいましたが、正しいコードをWeb備忘録に残そうと思った反動です。

すいません。

 

No responses yet