Annotation of embedaddon/php/ext/mysqli/tests/065.phpt, revision 1.1

1.1     ! misho       1: --TEST--
        !             2: set character set
        !             3: --SKIPIF--
        !             4: <?php
        !             5: require_once('skipif.inc');
        !             6: require_once('skipifconnectfailure.inc');
        !             7: 
        !             8: if (!function_exists('mysqli_set_charset')) {
        !             9:        die('skip mysqli_set_charset() not available');
        !            10: }
        !            11: if (version_compare(PHP_VERSION, '5.9.9', '>') == 1) {
        !            12:        die('skip set character set not functional with PHP 6 (fomerly PHP 6 && unicode.semantics=On)');
        !            13: }
        !            14: ?>
        !            15: --FILE--
        !            16: <?php
        !            17:        require_once("connect.inc");
        !            18: 
        !            19:        if (!$mysql = new my_mysqli($host, $user, $passwd, $db, $port, $socket))
        !            20:                printf("[001] [%d] %s\n", mysqli_connect_errno(), mysqli_connect_error());
        !            21: 
        !            22:        if (!mysqli_query($mysql, "SET sql_mode=''"))
        !            23:                printf("[002] Cannot set SQL-Mode, [%d] %s\n", mysqli_errno($mysql), mysqli_error($mysql));
        !            24: 
        !            25:        $esc_str = chr(0xbf) . chr(0x5c);
        !            26:        $len = $charset = array();
        !            27:        $tmp = null;
        !            28: 
        !            29:        if ($mysql->set_charset("latin1")) {
        !            30:                /* 5C should be escaped */
        !            31:                if (3 !== ($tmp = strlen($mysql->real_escape_string($esc_str))))
        !            32:                        printf("[003] Expecting 3/int got %s/%s\n", gettype($tmp), $tmp);
        !            33: 
        !            34:                if ('latin1' !== ($tmp = $mysql->character_set_name()))
        !            35:                        printf("[004] Expecting latin1/string got %s/%s\n", gettype($tmp), $tmp);
        !            36:        }
        !            37: 
        !            38:        if ($res = $mysql->query("SHOW CHARACTER SET LIKE 'gbk'")) {
        !            39:                $res->free_result();
        !            40:                if ($mysql->set_charset("gbk")) {
        !            41:                        /* nothing should be escaped, it's a valid gbk character */
        !            42: 
        !            43:                        if (2 !== ($tmp = strlen($mysql->real_escape_string($esc_str))))
        !            44:                                        printf("[005] Expecting 2/int got %s/%s\n", gettype($tmp), $tmp);
        !            45: 
        !            46:                        if ('gbk' !== ($tmp = $mysql->character_set_name()))
        !            47:                                        printf("[005] Expecting gbk/string got %s/%s\n", gettype($tmp), $tmp);;
        !            48:                }
        !            49:        }
        !            50:        $mysql->close();
        !            51: 
        !            52:        print "done!";
        !            53: ?>
        !            54: --EXPECT--
        !            55: done!

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>