--TEST-- mb_convert_encoding() --SKIPIF-- --INI-- output_handler= mbstring.language=Japanese --FILE-- 'JIS', 1=>'UTF-8', 2=>'EUC-JP', 3=>'SJIS'); $s = $jis; $s = mb_convert_encoding($s, 'EUC-JP', $a); print("EUC-JP: $s\n"); // EUC-JP $s = $euc_jp; $s = mb_convert_encoding($s, 'SJIS', $a); print("SJIS: ".base64_encode($s)."\n"); // SJIS $s = $euc_jp; $s = mb_convert_encoding($s, 'JIS', $a); print("JIS: ".base64_encode($s)."\n"); // JIS // Using Detect Order echo "== DETECT ORDER ==\n"; $s = $jis; $s = mb_convert_encoding($s, 'EUC-JP', 'auto'); print("EUC-JP: $s\n"); // EUC-JP $s = $euc_jp; $s = mb_convert_encoding($s, 'SJIS', 'auto'); print("SJIS: ".base64_encode($s)."\n"); // SJIS $s = $euc_jp; $s = mb_convert_encoding($s, 'JIS', 'auto'); print("JIS: ".base64_encode($s)."\n"); // JIS // Invalid(?) Parameters echo "== INVALID PARAMETER ==\n"; $s = mb_convert_encoding(1234, 'EUC-JP'); print("INT: $s\n"); // EUC-JP $s = mb_convert_encoding('', 'EUC-JP'); print("EUC-JP: $s\n"); // SJIS $s = $euc_jp; try { var_dump( mb_convert_encoding($s, 'BAD') ); } catch (\ValueError $e) { echo $e->getMessage() . \PHP_EOL; } ?> --EXPECT-- == BASIC TEST == EUC-JP: 日本語テキストです。0123456789。 EUC-JP: 日本語テキストです。0123456789。 SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== == STRING ENCODING LIST == EUC-JP: 日本語テキストです。0123456789。 SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== == ARRAY ENCODING LIST == EUC-JP: 日本語テキストです。0123456789。 SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== == DETECT ORDER == EUC-JP: 日本語テキストです。0123456789。 SJIS: k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg== JIS: GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg== == INVALID PARAMETER == INT: 1234 EUC-JP: mb_convert_encoding(): Argument #2 ($to_encoding) must be a valid encoding, "BAD" given