SSブログ
Lancers.jp

日本語ってやっぱり不便ね [CakeAMFPHP]

CAKEAMFPHPの良いところは、Flashからのリクエストを、CakeがDBからとってきて、データの配列をオブジェクトとして、まるごとFlashに送信できるところにあると思う。
のだが、ここでやっぱりエンコーディング問題が出てくる。
うちで扱う物件のほとんどは指定のサーバで、それらはほぼ間違いなくPHP・DBともにEUC-JPだ。

だもんだから、Flashへ渡す時に値をEUCからUTF-8に変換する作業が発生する。
配列から値をいちいち抜き出して、mb_convert_encodingしなきゃいけないから、イマイチ機動力が落ちるよな。
配列ごと一発で変換できるのがあれば良いのに。

もっといい方法無いですかね?

追記:
EUCからUTF-8に変換しただけだと、AMFPHP内で文字化けしてしまうよう。
しょうが無いから、

$str = mb_encoding_convert($str,'UTF-8','EUC-JP');
$str = urlencode($str);


としてから、Flash側で unescape してやるっつー面倒くさいことになってしまった。
やれやれ。

【追記】
http://can-tena.com/remoting/dir.html




nice!(0)  コメント(2)  トラックバック(0) 

nice! 0

コメント 2

yossy

はじめまして。
CakeAMFPHPを調べている途中に通りがかりました。


> 配列ごと一発で変換できるのがあれば良いのに。

mb_convert_variables('UTF-8','eucJP-win',$array);
ではいかがでしょうか?
by yossy (2007-11-09 00:16) 

sandman

> yossyさま
お返事が遅くなりまして、申し訳ありません。

あわわ、こんな便利な関数があったのですねー。
無知でした。

教えていただき、とても感謝します。
今作ってるのも、ちょうど困ってたのですよ。
by sandman (2007-11-16 16:04) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

トラックバックの受付は締め切りました

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。