MW211 EXIT

devlog
PHP/文字コード自動変換
2011年12月17日
文字コードを変換する関数は「mb_convert_encoding()」。
以下のような感じ「UTF-8←SJIS-win」の方向に変換される。
┌──────────────────────────────────────┐
│$変換後 = mb_convert_encoding($変換前, 'UTF-8', 'SJIS-win');                │
└──────────────────────────────────────┘

これに便利なオプション「auto」ってのがあって、
こんな風に指定してあげると
SJISだろうがEUCだろうがもちろん自身UTF-8も含めてすべてUTF-8に変換してくれる。
#自身UTF-8の場合は変換しないでくれるってことだね、
  とにかくどうあえれ結果はすべてUTF-8になるのだ、便利
┌──────────────────────────────────────┐
│$変換後 = mb_convert_encoding($変換前, 'UTF-8', 'auto');                    │
└──────────────────────────────────────┘

でも、注意しなければならない。
事前に以下の設定を行っておく必要があるのだ。
┌──────────────────────────────────────┐
│mb_language('Japanese');                                                    │
└──────────────────────────────────────┘
これからやる処理は日本語だって宣言しなきゃならないんだね。
これに気がつかないと「auto」オプションなんて使えねぇって勘違いをすることになる。

ちなみに、SJISとUTF-8が混じった文字列みたいなのを変換しようとすると
どっちかが優先されて他方が文字化けしてしまうので注意が必要だ。
分類:PHP