文字コード

http://itpro.nikkeibp.co.jp/article/COLUMN/20061122/254626/
■Shift-JIS
ダメ文字 置換 エラー
文字 シフトJIS漢字コード UTF-8
ソ 835c e382bd
ー 815b e383bc

文字 アスキーコード
\ 5c
[ 5b
' 27
" 22
80〜9F、 および E0〜FF には無い

なので、835cは、シフトJISだと認識できる。
が、magic_quotes_gpcなどで勝手にエスケープ(5c→5c5c)
などとされると、文字化けになる。

■メタ文字のエスケープ処理に注意
'、"、[、\、などをエスケープしようとすると、
5c,5b,27,22の部分がエスケープされてしまうので、文字化けになる。
preg_machなどでもダメ、ひっかかる。
・対策(マッチする前にUTF8)
$str = "ーソ[";
$str = mb_convert_encoding($str,'UTF-8','Shift-JIS');
$ary = preg_quote(" . \ + * ? [ ^ ] $ ( ) { } = ! < > | : -");
if (preg_match("/$ary/",$str)) {
echo "match \n";
}
$str = mb_convert_encoding($str,'Shift-JIS','UTF-8');



Unicode対応表
http://ash.jp/code/unitbl21.htm