22odbc_exec(): Getting accurate unicode data from query
33--EXTENSIONS--
44odbc
5+ mbstring
56--SKIPIF--
6- <?php include 'skipif.inc ' ; ?>
77<?php
8- if ("unixODBC " != ODBC_TYPE ) {
9- die ("skip ODBC_TYPE != unixODBC " );
8+ include 'skipif.inc ' ;
9+ if ("unixODBC " != ODBC_TYPE ) {
10+ die ("skip ODBC_TYPE != unixODBC " );
11+ }
12+
13+ $ conn = odbc_connect ($ dsn , $ user , $ pass );
14+ $ result = @odbc_exec ($ conn , "SELECT @@Version " );
15+ if ($ result ) {
16+ $ array = odbc_fetch_array ($ result );
17+ $ info = (string ) reset ($ array );
18+ if (str_contains ($ info , "Microsoft SQL Server " )) {
19+ echo "skip Doesn't work with MS SQL " ;
1020 }
21+ }
1122?>
1223--FILE--
1324<?php
@@ -23,14 +34,12 @@ ini_set("odbc.defaultlrl", 4); // Set artificially low
2334
2435$ conn = odbc_connect ($ dsn , $ user , $ pass );
2536
26- odbc_exec ($ conn , 'CREATE DATABASE odbcTEST ENCODING= \'EUC_JP \'' );
37+ odbc_exec ($ conn , 'CREATE DATABASE bug60616Test ENCODING= \'EUC_JP \'' );
38+ odbc_exec ($ conn , 'USE bug60616Test ' );
39+ odbc_exec ($ conn , 'CREATE TABLE bug60616 (ID INT, CHAR_COL CHAR(200), VARCHAR_COL VARCHAR(200), TEXT_COL TEXT) ' );
40+ odbc_exec ($ conn , "INSERT INTO bug60616(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (1, ' $ euc_jp', ' $ euc_jp', ' $ euc_jp'), (2, ' $ ascii', ' $ ascii', ' $ ascii') " );
2741
28- odbc_exec ($ conn , 'CREATE TABLE FOO (ID INT, CHAR_COL CHAR(200), VARCHAR_COL VARCHAR(200), TEXT_COL TEXT) ' );
29-
30- odbc_exec ($ conn , "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (1, ' $ euc_jp', ' $ euc_jp', ' $ euc_jp') " );
31- odbc_exec ($ conn , "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (2, ' $ ascii', ' $ ascii', ' $ ascii') " );
32-
33- $ res = odbc_exec ($ conn , 'SELECT * FROM FOO ORDER BY ID ASC ' );
42+ $ res = odbc_exec ($ conn , 'SELECT * FROM bug60616 ORDER BY ID ASC ' );
3443
3544while (odbc_fetch_row ($ res )) {
3645 $ char_col = odbc_result ($ res , "CHAR_COL " );
@@ -61,16 +70,17 @@ while(odbc_fetch_row($res)) {
6170}
6271
6372?>
64- --EXPECT--
65- EUC-JP matched
66- ASCII matched
6773--CLEAN--
6874<?php
6975include 'config.inc ' ;
7076
7177$ conn = odbc_connect ($ dsn , $ user , $ pass );
7278
73- odbc_exec ($ conn , 'DROP TABLE FOO ' );
74- odbc_exec ($ conn , 'DROP DATABASE odbcTEST ' );
75-
79+ odbc_exec ($ conn , 'USE bug60616Test ' );
80+ odbc_exec ($ conn , 'DROP TABLE bug60616 ' );
81+ odbc_exec ( $ conn , ' DROP DATABASE bug60616Test ' );
7682?>
83+ --EXPECT--
84+ EUC-JP matched
85+ ASCII matched
86+
0 commit comments