--- php-7.0.1/ext/mysqli/mysqli.c 2015-12-16 10:42:04.000000000 +0000 +++ php-7.0.1/ext/mysqli/mysqli.c 2015-12-28 15:16:20.868443158 +0000 @@ -522,6 +522,7 @@ PHP_INI_BEGIN() #else STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals) #endif + STD_PHP_INI_ENTRY("mysqli.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_BOOLEAN("mysqli.reconnect", "0", PHP_INI_SYSTEM, OnUpdateLong, reconnect, zend_mysqli_globals, mysqli_globals) STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysqli_globals, mysqli_globals) PHP_INI_END() @@ -545,6 +546,7 @@ static PHP_GINIT_FUNCTION(mysqli) mysqli_globals->default_user = NULL; mysqli_globals->default_pw = NULL; mysqli_globals->default_socket = NULL; + mysqli_globals->connect_charset = NULL; mysqli_globals->reconnect = 0; mysqli_globals->report_mode = 0; mysqli_globals->report_ht = 0; --- php-7.0.1/ext/mysqli/mysqli_nonapi.c 2015-12-16 10:42:03.000000000 +0000 +++ php-7.0.1/ext/mysqli/mysqli_nonapi.c 2015-12-28 15:23:36.769443158 +0000 @@ -61,7 +61,7 @@ void mysqli_common_connect(INTERNAL_FUNC MY_MYSQL *mysql = NULL; MYSQLI_RESOURCE *mysqli_resource = NULL; zval *object = getThis(); - char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL; + char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL; size_t hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0; zend_bool persistent = FALSE; zend_long port = 0, flags = 0; @@ -233,6 +233,12 @@ void mysqli_common_connect(INTERNAL_FUNC } #endif + connect_charset = MyG(connect_charset); + + if (connect_charset != NULL) { + mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, connect_charset); + } + #if !defined(MYSQLI_USE_MYSQLND) /* BC for prior to bug fix #53425 */ flags |= CLIENT_MULTI_RESULTS; --- php-7.0.1/ext/mysqli/php_mysqli_structs.h 2015-12-28 15:16:20.870443158 +0000 +++ php-7.0.1/ext/mysqli/php_mysqli_structs.h 2015-12-28 15:23:04.136443158 +0000 @@ -330,6 +330,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqli) char *default_user; char *default_socket; char *default_pw; + char *connect_charset; zend_long reconnect; zend_long allow_local_infile; zend_long strict;