PHPと文字エンコード

文字エンコードの世界に足を踏み入れてみたら,そこは泥沼の世界でした.
意味わからん.
とりあえず全部mb_detect_encoding()でエンコードチェックしてmb_convert_encoding()で変換してmb_eregでマッチさせればいいや.
と思ったら不可能なケース発生.UTF-8に揃えると出来るけどEUC-JPだと出来ない.
意味わからん.


参考したのは以下.

<?php
//下記コードをプログラムの頭に設置。
mb_language("Japanese");//必須ではないけど一応
mb_internal_encoding("EUC-JP");//mb_convert_kana使用時に必須
mb_detect_order("ASCII,JIS,UTF-8,EUC-JP,SJIS");//mb_detect_encoding使用時に必須

//文字列の文字コード変更時に、変更前の文字列の文字コードを逐一取得する。
$buffer=mb_convert_encoding($buffer,"EUC-JP",mb_detect_encoding($buffer));
?>

とりあえずの収穫.