自分がよく忘れるので、備忘録として・・・
携帯電話は機種によって、エンコードが勝手に変わることがあります。
データファイルはeucなどで作っていても、自動的にsjisに変わることが多く、たまにこういう作業をするととたんに忘れてしまいます。
そんなわけで、今から使える文字化け対策
//携帯対応マルチコンバートプロトコル(文字コードはEUC-JPとします)
$enc = mb_detect_encoding("日本語",'auto');
mb_convert_variables($enc,'auto',$_POST);
最初の$encは、プログラム内部で本来処理されるべき文字コード(EUC-JP)
2行目のプログラムにより、文字コードを正しい文字コードに直す際必要になる命令です。
あら「簡単」と思われたことでしょう。
本当簡単なことですが、結論を出すまでに相当時間のかかったことでもありました。
EUC-JPでフォームメールを書いているのだから、データを引き渡すときもEUC-JPだろうというのが私の見解です。
しかし、現実は「自動変換」の問題で、処理前にチェックする必要があるのです。
パソコン版のブラウザでは、このような障害は起きないのですが、携帯電話ではどうしても起きてしまいます。
もっとよい方法があると思いますが、今のところこの方法でうまく動いてます。
ちなみに、PHP4系での動作確認ですが、PHP5でも大丈夫と思います(未確認)
では、また明日
この記事に対するコメントはありません