1 --- ext/mysqli/mysqli_api.c 2006-12-01 16:30:36.000000000 +0100
2 +++ ext/mysqli/mysqli_api.c 2006-12-01 16:39:32.000000000 +0100
4 PHP_FUNCTION(mysqli_real_connect)
7 - char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL;
8 + char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL;
9 unsigned int hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
10 unsigned long port=0, flags=0;
12 @@ -1436,6 +1436,12 @@
13 socket = MyG(default_socket);
16 + connect_charset = MyG(connect_charset);
18 + if (connect_charset != NULL) {
19 + mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, connect_charset);
22 if (mysql_real_connect(mysql->mysql,hostname,username,passwd,dbname,port,socket,flags) == NULL) {
23 php_mysqli_set_error(mysql_errno(mysql->mysql), (char *) mysql_error(mysql->mysql) TSRMLS_CC);
24 php_mysqli_throw_sql_exception( mysql->mysql->net.sqlstate, mysql->mysql->net.last_errno TSRMLS_CC,
25 --- ext/mysqli/mysqli.c 2006-12-01 16:30:36.000000000 +0100
26 +++ ext/mysqli/mysqli.c 2006-12-01 16:38:01.000000000 +0100
28 STD_PHP_INI_ENTRY("mysqli.default_pw", NULL, PHP_INI_ALL, OnUpdateString, default_pw, zend_mysqli_globals, mysqli_globals)
29 STD_PHP_INI_ENTRY("mysqli.default_port", "3306", PHP_INI_ALL, OnUpdateLong, default_port, zend_mysqli_globals, mysqli_globals)
30 STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals)
31 + STD_PHP_INI_ENTRY("mysqli.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysqli_globals, mysqli_globals)
32 STD_PHP_INI_BOOLEAN("mysqli.reconnect", "0", PHP_INI_SYSTEM, OnUpdateLong, reconnect, zend_mysqli_globals, mysqli_globals)
36 mysqli_globals->default_user = NULL;
37 mysqli_globals->default_pw = NULL;
38 mysqli_globals->default_socket = NULL;
39 + mysqli_globals->connect_charset = NULL;
40 mysqli_globals->reconnect = 0;
41 mysqli_globals->report_mode = 0;
42 mysqli_globals->report_ht = 0;
43 --- ext/mysqli/mysqli_nonapi.c 2006-12-01 16:30:36.000000000 +0100
44 +++ ext/mysqli/mysqli_nonapi.c 2006-12-01 16:40:29.000000000 +0100
47 MYSQLI_RESOURCE *mysqli_resource;
48 zval *object = getThis();
49 - char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL;
50 + char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL;
51 unsigned int hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
55 socket = MyG(default_socket);
58 + connect_charset = MyG(connect_charset);
60 + if (connect_charset != NULL) {
61 + mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, connect_charset);
64 if (mysql_real_connect(mysql->mysql,hostname,username,passwd,dbname,port,socket,CLIENT_MULTI_RESULTS) == NULL) {
65 /* Save error messages */
67 --- ext/mysqli/php_mysqli.h 2006-12-01 16:30:36.000000000 +0100
68 +++ ext/mysqli/php_mysqli.h 2006-12-01 16:36:23.000000000 +0100
73 + char *connect_charset;