[PHP]携帯電話で文字化けを防ぐ為には?

自分がよく忘れるので、備忘録として・・・

携帯電話は機種によって、エンコードが勝手に変わることがあります。

データファイルは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でも大丈夫と思います(未確認)

では、また明日

— posted by おおくす@ai2station at 10:01 pm  

この記事に対するコメントはありません

このエントリーをはてなブックマークに追加
<< 2008.4 >>
SMTWTFS
  1 2 3 4 5
67 8 9 10 11 12
1314 15 16 17 18 19
2021 22 23 24 25 26
2728 2930    
 
T: Y: ALL:
Created in 0.1854 sec.