PHP
jQuery:get関数の戻り値を受け取る
2012.09.12
jQueryのget関数を使ってPHPをリクエストし、
結果を戻り値として受け取る・・だけだったのですが、
勘違いをしていてひどく苦戦したのでメモします。


JS側は

$.get("test.php", function(data){
   alert(data);
});


というように、
PHPを実行してその結果を受けて
コールバック関数で表示させるというものです。

で、肝心のPHP側ですが、
処理の結果を return で返そうとしていて・・
(そもそも関数内じゃないので return は無意味ですね)

戻り値は XMLHttpRequestオブジェクトなので、
単純に print で出力してあげれば受け取ることができました。
| コメント(0)
PHPでの文字化け
2008.10.23
PHPでラジオボタンを作ったのですが、文字化けに悩まされてしまいました。

結局は、PHPの仕組みをよく理解できていなかっただけなのですが・・


PHPではフォームから情報を受け取ると、文字コードをEUC-JPに変換して処理します。
これをそのまま表示してしまうと、文字化けが起こってしまいます。
HTMLはShift_JISかUTF-8の場合が多いですし。


それでどうするかというと、データを表示する前に文字コードを変えてやります。

$str = mb_convert_encoding($str, "UTF-8", "EUC-JP");

こんな感じです。

たったこれだけ・・


これのどこに引っかかってたんだ、と自分でも少し思いましたが。
実はPHPの設定で、ソースを保存するときのコードとブラウザへ出力するときのコードが設定できて、それも合わせていろいろ試していたのが問題だったようです。


PHPでの処理はEUC-JPで行われるわけですから、設定は

「ソースをEUC-JPで保存し、ブラウザへEUC-JPで出力する」

としておいて、
ブラウザで表示させるときに任意の文字コードに変換する、というのが一番安定するようです。


おっしーでした。
| コメント(0)