mb_convert_encoding_array.phpt 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. --TEST--
  2. Test mb_convert_encoding() function : array functionality
  3. --SKIPIF--
  4. <?php
  5. extension_loaded('mbstring') or die('skip');
  6. function_exists('mb_convert_encoding') or die("skip mb_convert_encoding() is not available in this build");
  7. ?>
  8. --FILE--
  9. <?php
  10. /* Prototype : string mb_convert_encoding(string $str, string $to_encoding [, mixed $from_encoding])
  11. * Description: Returns converted string in desired encoding
  12. * Source code: ext/mbstring/mbstring.c
  13. */
  14. /*
  15. * Test basic functionality of mb_convert_encoding()
  16. */
  17. echo "*** Testing mb_convert_encoding() : array functionality ***\n";
  18. //All strings are the same when displayed in their respective encodings
  19. $sjis_string[] = base64_decode('k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==');
  20. $sjis_string[] = base64_decode('k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg==');
  21. $jis_string[] = base64_decode('GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==');
  22. $jis_string[] = base64_decode('GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg==');
  23. $euc_jp_string[] = base64_decode('xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow==');
  24. $euc_jp_string[] = base64_decode('xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow==');
  25. $utf8_string[] = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII=');
  26. $utf8_string[] = base64_decode('5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII=');
  27. function base64_encode_array($input) {
  28. foreach ($input as $var) {
  29. $ret[] = base64_encode($var);
  30. }
  31. return $ret;
  32. }
  33. echo "\n-- Convert to JIS --\n";
  34. echo "JIS encoded string in base64:\n";
  35. var_dump(base64_encode_array($jis_string));
  36. echo "Converted Strings:\n";
  37. var_dump(base64_encode_array(mb_convert_encoding($sjis_string, 'JIS', 'SJIS')));
  38. var_dump(base64_encode_array(mb_convert_encoding($euc_jp_string, 'JIS', 'EUC-JP')));
  39. var_dump(base64_encode_array(mb_convert_encoding($utf8_string, 'JIS', 'UTF-8')));
  40. echo "\n-- Convert to EUC-JP --\n";
  41. echo "EUC-JP encoded string in base64:\n";
  42. var_dump(base64_encode_array($euc_jp_string));
  43. echo "Converted Strings:\n";
  44. var_dump(base64_encode_array(mb_convert_encoding($sjis_string, 'EUC-JP', 'SJIS')));
  45. var_dump(base64_encode_array(mb_convert_encoding($jis_string, 'EUC-JP', 'JIS')));
  46. var_dump(base64_encode_array(mb_convert_encoding($utf8_string, 'EUC-JP', 'UTF-8')));
  47. echo "\n-- Convert to SJIS --\n";
  48. echo "SJIS encoded string in base64:\n";
  49. var_dump(base64_encode_array($sjis_string));
  50. echo "Converted Strings:\n";
  51. var_dump(base64_encode_array(mb_convert_encoding($jis_string, 'SJIS', 'JIS')));
  52. var_dump(base64_encode_array(mb_convert_encoding($euc_jp_string, 'SJIS', 'EUC-JP')));
  53. var_dump(base64_encode_array(mb_convert_encoding($utf8_string, 'SJIS', 'UTF-8')));
  54. echo "\n-- Convert to UTF-8 --\n";
  55. echo "UTF-8 encoded string in base64:\n";
  56. var_dump(base64_encode_array($utf8_string));
  57. echo "Converted Strings:\n";
  58. var_dump(base64_encode_array(mb_convert_encoding($sjis_string, 'UTF-8', 'SJIS')));
  59. var_dump(base64_encode_array(mb_convert_encoding($jis_string, 'UTF-8', 'JIS')));
  60. var_dump(base64_encode_array(mb_convert_encoding($euc_jp_string, 'UTF-8', 'EUC-JP')));
  61. echo "Done";
  62. ?>
  63. --EXPECT--
  64. *** Testing mb_convert_encoding() : array functionality ***
  65. -- Convert to JIS --
  66. JIS encoded string in base64:
  67. array(2) {
  68. [0]=>
  69. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  70. [1]=>
  71. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  72. }
  73. Converted Strings:
  74. array(2) {
  75. [0]=>
  76. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  77. [1]=>
  78. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  79. }
  80. array(2) {
  81. [0]=>
  82. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  83. [1]=>
  84. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  85. }
  86. array(2) {
  87. [0]=>
  88. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  89. [1]=>
  90. string(68) "GyRCRnxLXDhsJUYlLSU5JUgkRyQ5ISMbKEIwMTIzNBskQiM1IzYjNyM4IzkhIxsoQg=="
  91. }
  92. -- Convert to EUC-JP --
  93. EUC-JP encoded string in base64:
  94. array(2) {
  95. [0]=>
  96. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  97. [1]=>
  98. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  99. }
  100. Converted Strings:
  101. array(2) {
  102. [0]=>
  103. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  104. [1]=>
  105. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  106. }
  107. array(2) {
  108. [0]=>
  109. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  110. [1]=>
  111. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  112. }
  113. array(2) {
  114. [0]=>
  115. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  116. [1]=>
  117. string(52) "xvzL3LjspcalraW5pcikx6S5oaMwMTIzNKO1o7ajt6O4o7mhow=="
  118. }
  119. -- Convert to SJIS --
  120. SJIS encoded string in base64:
  121. array(2) {
  122. [0]=>
  123. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  124. [1]=>
  125. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  126. }
  127. Converted Strings:
  128. array(2) {
  129. [0]=>
  130. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  131. [1]=>
  132. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  133. }
  134. array(2) {
  135. [0]=>
  136. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  137. [1]=>
  138. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  139. }
  140. array(2) {
  141. [0]=>
  142. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  143. [1]=>
  144. string(52) "k/qWe4zqg2WDTINYg2eCxYK3gUIwMTIzNIJUglWCVoJXgliBQg=="
  145. }
  146. -- Convert to UTF-8 --
  147. UTF-8 encoded string in base64:
  148. array(2) {
  149. [0]=>
  150. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  151. [1]=>
  152. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  153. }
  154. Converted Strings:
  155. array(2) {
  156. [0]=>
  157. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  158. [1]=>
  159. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  160. }
  161. array(2) {
  162. [0]=>
  163. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  164. [1]=>
  165. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  166. }
  167. array(2) {
  168. [0]=>
  169. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  170. [1]=>
  171. string(72) "5pel5pys6Kqe44OG44Kt44K544OI44Gn44GZ44CCMDEyMzTvvJXvvJbvvJfvvJjvvJnjgII="
  172. }
  173. Done