【php】mb_convert_encoding()関数で、変換元の文字コード(第3引数)を指定しているのにWarningが出る
こうしたとき、
mb_convert_encoding($str, 'UTF-8', 'SJIS,EUC-JP');
$str が SJISでもEUC-JPでもなかったとき、Warningが出ます。
Warning: mb_convert_encoding(): Unable to detect character encoding in /xxxx/xxxx/test.php on line 2
変換元の文字コード(第3引数)を指定したとき、1つ指定すればその指示通りに強行しますが、カンマ区切りで複数指定すると、’auto’の指定と同様に文字コード判定が発生し、候補の中で解決できないときはWarningが発生します。
このように1つだけ指定したときは、指定に従って無理やりにでも文字コードを変換するだけで特にエラー、警告は発生しません。
mb_convert_encoding('你好', 'UTF-8', 'SJIS-win');//ソースがUTF-8だとして、UTF-8の文字列をSJISからUTF-8へ変換しようとしたとき
コメント