1--TEST--
2Test mb_convert_encoding() function : basic functionality
3--SKIPIF--
4<?php
5extension_loaded('mbstring') or die('skip');
6function_exists('mb_convert_encoding') or die("skip mb_convert_encoding() is not available in this build");
7?>
8--FILE--
9<?php
10/*
11 * Test basic functionality of mb_convert_encoding()
12 */
13
14echo "*** Testing mb_convert_encoding() : basic functionality ***\n";
15
16//All strings are the same when displayed in their respective encodings
17$sjis_string = base64_decode('k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==');
18$jis_string = base64_decode('GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==');
19$euc_jp_string = base64_decode('xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow==');
20$utf8_string = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII=');
21
22echo "\n-- Convert to JIS --\n";
23echo "JIS encoded string in base64:\n";
24var_dump(base64_encode($jis_string));
25echo "Converted Strings:\n";
26var_dump(base64_encode(mb_convert_encoding($sjis_string, 'JIS', 'SJIS')));
27var_dump(base64_encode(mb_convert_encoding($euc_jp_string, 'JIS', 'EUC-JP')));
28var_dump(base64_encode(mb_convert_encoding($utf8_string, 'JIS', 'UTF-8')));
29
30echo "\n-- Convert to EUC-JP --\n";
31echo "EUC-JP encoded string in base64:\n";
32var_dump(base64_encode($euc_jp_string));
33echo "Converted Strings:\n";
34var_dump(base64_encode(mb_convert_encoding($sjis_string, 'EUC-JP', 'SJIS')));
35var_dump(base64_encode(mb_convert_encoding($jis_string, 'EUC-JP', 'JIS')));
36var_dump(base64_encode(mb_convert_encoding($utf8_string, 'EUC-JP', 'UTF-8')));
37
38echo "\n-- Convert to SJIS --\n";
39echo "SJIS encoded string in base64:\n";
40var_dump(base64_encode($sjis_string));
41echo "Converted Strings:\n";
42var_dump(base64_encode(mb_convert_encoding($jis_string, 'SJIS', 'JIS')));
43var_dump(base64_encode(mb_convert_encoding($euc_jp_string, 'SJIS', 'EUC-JP')));
44var_dump(base64_encode(mb_convert_encoding($utf8_string, 'SJIS', 'UTF-8')));
45
46echo "\n-- Convert to UTF-8 --\n";
47echo "UTF-8 encoded string in base64:\n";
48var_dump(base64_encode($utf8_string));
49echo "Converted Strings:\n";
50var_dump(base64_encode(mb_convert_encoding($sjis_string, 'UTF-8', 'SJIS')));
51var_dump(base64_encode(mb_convert_encoding($jis_string, 'UTF-8', 'JIS')));
52var_dump(base64_encode(mb_convert_encoding($euc_jp_string, 'UTF-8', 'EUC-JP')));
53
54echo "Done";
55?>
56--EXPECT--
57*** Testing mb_convert_encoding() : basic functionality ***
58
59-- Convert to JIS --
60JIS encoded string in base64:
61string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
62Converted Strings:
63string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
64string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
65string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
66
67-- Convert to EUC-JP --
68EUC-JP encoded string in base64:
69string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
70Converted Strings:
71string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
72string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
73string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
74
75-- Convert to SJIS --
76SJIS encoded string in base64:
77string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
78Converted Strings:
79string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
80string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
81string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
82
83-- Convert to UTF-8 --
84UTF-8 encoded string in base64:
85string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
86Converted Strings:
87string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
88string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
89string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
90Done
91