1--TEST--
2mysqli_fetch_assoc() - utf8
3--SKIPIF--
4<?php
5	require_once('skipif.inc');
6	require_once('skipifemb.inc');
7	require_once('skipifconnectfailure.inc');
8	require_once("connect.inc");
9
10	if (!$link = mysqli_connect($host, $user, $passwd, $db, $port, $socket))
11		die("skip Cannot connect to server to check charsets");
12
13	if (!$res = mysqli_query($link, "SHOW CHARACTER SET LIKE 'UTF8'"))
14		die("skip Cannot run SHOW CHARACTER SET to check charsets");
15
16	if (!$tmp = mysqli_fetch_assoc($res))
17		die("skip Looks like UTF8 is not available on the server");
18
19	if (strtolower($tmp['Charset']) !== 'utf8')
20		die("skip Not sure if UTF8 is available, canceling the test");
21
22	mysqli_free_result($res);
23
24	if (!$res = mysqli_query($link, "SHOW CHARACTER SET LIKE 'UCS2'"))
25		die("skip Cannot run SHOW CHARACTER SET to check charsets");
26
27	if (!$tmp = mysqli_fetch_assoc($res))
28		die("skip Looks like UCS2 is not available on the server");
29
30	if (strtolower($tmp['Charset']) !== 'ucs2')
31		die("skip Not sure if UCS2 is available, canceling the test");
32
33	mysqli_free_result($res);
34	mysqli_close($link);
35?>
36--FILE--
37<?php
38	require('table.inc');
39
40	/* some cyrillic (utf8) comes here */
41	if (!$res = mysqli_query($link, "SET NAMES UTF8")) {
42		printf("[001] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
43	}
44
45	if (!$res = mysqli_query($link, "SELECT 1 AS 'Андрей Христов', 2 AS 'Улф Вендел', 3 AS 'Георг Рихтер'")) {
46		printf("[002] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
47	}
48	print "[003]\n";
49	var_dump(mysqli_fetch_assoc($res));
50	mysqli_free_result($res);
51
52	if (!$res = mysqli_query($link, "CREATE TABLE автори_на_mysqlnd (id integer not null auto_increment primary key, име varchar(20) character set ucs2, фамилия varchar(20) character set utf8)")) {
53		printf("[004] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
54	}
55	if (!$res = mysqli_query($link, "INSERT INTO автори_на_mysqlnd (име, фамилия) VALUES ('Андрей', 'Христов'), ('Георг', 'Рихтер'), ('Улф','Вендел')")) {
56		printf("[005] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
57	}
58	if (!$res = mysqli_query($link, "INSERT INTO автори_на_mysqlnd (име, фамилия) VALUES ('Andrey', 'Hristov'), ('Georg', 'Richter'), ('Ulf','Wendel')")) {
59		printf("[006] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
60	}
61	if (!$res = mysqli_query($link, "INSERT INTO автори_на_mysqlnd (име, фамилия) VALUES ('安德烈', 'Hristov'), ('格奥尔', 'Richter'), ('乌尔夫','Wendel')")) {
62		printf("[007] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
63	}
64
65	if (!$res = mysqli_query($link, "SELECT id, име, фамилия FROM автори_на_mysqlnd ORDER BY фамилия, име")) {
66		printf("[008] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
67	}
68	print "[009]\n";
69	while ($row = mysqli_fetch_assoc($res)) {
70		var_dump($row);
71	}
72	mysqli_free_result($res);
73
74	if (!$res = mysqli_query($link, "DROP TABLE автори_на_mysqlnd")) {
75		printf("[010] [%d] %s\n", mysqli_errno($link), mysqli_error($link));
76	}
77
78	mysqli_close($link);
79	print "done!";
80?>
81--EXPECTF--
82[003]
83array(3) {
84  [%u|b%"Андрей Христов"]=>
85  %unicode|string%(%r[1|3]%r) "1"
86  [%u|b%"Улф Вендел"]=>
87  %unicode|string%(1) "2"
88  [%u|b%"Георг Рихтер"]=>
89  %unicode|string%(1) "3"
90}
91[009]
92array(3) {
93  [%u|b%"id"]=>
94  %unicode|string%(1) "4"
95  [%u|b%"име"]=>
96  %unicode|string%(6) "Andrey"
97  [%u|b%"фамилия"]=>
98  %unicode|string%(7) "Hristov"
99}
100array(3) {
101  [%u|b%"id"]=>
102  %unicode|string%(1) "7"
103  [%u|b%"име"]=>
104  %unicode|string%(9) "安德烈"
105  [%u|b%"фамилия"]=>
106  %unicode|string%(7) "Hristov"
107}
108array(3) {
109  [%u|b%"id"]=>
110  %unicode|string%(1) "5"
111  [%u|b%"име"]=>
112  %unicode|string%(5) "Georg"
113  [%u|b%"фамилия"]=>
114  %unicode|string%(7) "Richter"
115}
116array(3) {
117  [%u|b%"id"]=>
118  %unicode|string%(1) "8"
119  [%u|b%"име"]=>
120  %unicode|string%(9) "格奥尔"
121  [%u|b%"фамилия"]=>
122  %unicode|string%(7) "Richter"
123}
124array(3) {
125  [%u|b%"id"]=>
126  %unicode|string%(1) "6"
127  [%u|b%"име"]=>
128  %unicode|string%(3) "Ulf"
129  [%u|b%"фамилия"]=>
130  %unicode|string%(6) "Wendel"
131}
132array(3) {
133  [%u|b%"id"]=>
134  %unicode|string%(1) "9"
135  [%u|b%"име"]=>
136  %unicode|string%(9) "乌尔夫"
137  [%u|b%"фамилия"]=>
138  %unicode|string%(6) "Wendel"
139}
140array(3) {
141  [%u|b%"id"]=>
142  %unicode|string%(1) "3"
143  [%u|b%"име"]=>
144  %unicode|string%(6) "Улф"
145  [%u|b%"фамилия"]=>
146  %unicode|string%(12) "Вендел"
147}
148array(3) {
149  [%u|b%"id"]=>
150  %unicode|string%(1) "2"
151  [%u|b%"име"]=>
152  %unicode|string%(10) "Георг"
153  [%u|b%"фамилия"]=>
154  %unicode|string%(12) "Рихтер"
155}
156array(3) {
157  [%u|b%"id"]=>
158  %unicode|string%(1) "1"
159  [%u|b%"име"]=>
160  %unicode|string%(12) "Андрей"
161  [%u|b%"фамилия"]=>
162  %unicode|string%(14) "Христов"
163}
164done!
165