--TEST-- mb_detect_encoding() --SKIPIF-- --INI-- mbstring.language=Japanese --FILE-- 'UTF-8',1=>'EUC-JP', 2=>'SJIS', 3=>'JIS'); // Note: Due to detect order, detected as UTF-8 $s = $jis; $s = mb_detect_encoding($s, $a); print("JIS: $s\n"); $s = $euc_jp; $s = mb_detect_encoding($s, $a); print("EUC-JP: $s\n"); $s = $sjis; $s = mb_detect_encoding($s, $a); print("SJIS: $s\n"); // Using Detect Order echo "== DETECT ORDER ==\n"; mb_detect_order('auto'); $s = $jis; $s = mb_detect_encoding($s); print("JIS: $s\n"); $s = $euc_jp; $s = mb_detect_encoding($s); print("EUC-JP: $s\n"); $s = $sjis; $s = mb_detect_encoding($s); print("SJIS: $s\n"); // Invalid(?) Parameters echo "== INVALID PARAMETER ==\n"; $s = mb_detect_encoding(1234, 'EUC-JP'); print("INT: $s\n"); // EUC-JP $s = mb_detect_encoding('', 'EUC-JP'); print("EUC-JP: $s\n"); // SJIS $s = $euc_jp; try { var_dump(mb_detect_encoding($s, 'BAD')); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } ?> --EXPECT-- == BASIC TEST == SJIS: SJIS JIS: JIS EUC-JP: EUC-JP EUC-JP: EUC-JP == ARRAY ENCODING LIST == JIS: UTF-8 EUC-JP: EUC-JP SJIS: SJIS == DETECT ORDER == JIS: JIS EUC-JP: EUC-JP SJIS: SJIS == INVALID PARAMETER == INT: EUC-JP EUC-JP: EUC-JP mb_detect_encoding(): Argument #2 ($encodings) contains invalid encoding "BAD"