065.phpt   [plain text]


--TEST--
set character set 
--SKIPIF--
<?php 
require_once('skipif.inc'); 
if (!function_exists('mysqli_set_charset')) {
	die('skip mysqli_set_charset() not available');
}
if (!mysqli_set_charset($con, "gbh") && mysqli_errno($con) == 2019) {
    die('skip mysql compiled without gbh charset support');
}
?>
--FILE--
<?php
	include "connect.inc";

	$mysql = new mysqli($host, $user, $passwd);
	mysqli_query($mysql, "SET sql_mode=''");

	$esc_str = chr(0xbf) . chr(0x5c);

	if ($mysql->set_charset("latin1")) {
		/* 5C should be escaped */
		$len[0] = strlen($mysql->real_escape_string($esc_str));
		$charset[0] = $mysql->client_encoding();
	}

	if ($mysql->set_charset("gbk")) {
		/* nothing should be escaped, it's a valid gbk character */
		$len[1] = strlen($mysql->real_escape_string($esc_str));
		$charset[1] = $mysql->client_encoding();
	}

	$mysql->close();
	var_dump($len[0]);
	var_dump($len[1]);
	var_dump($charset[0]);
	var_dump($charset[1]);
?>
--EXPECT--
int(3)
int(2)
string(6) "latin1"
string(3) "gbk"