1 diff -urNp -x '*.orig' php-5.6.40.org/ext/mysqli/mysqli.c php-5.6.40/ext/mysqli/mysqli.c
2 --- php-5.6.40.org/ext/mysqli/mysqli.c 2019-01-09 10:54:13.000000000 +0100
3 +++ php-5.6.40/ext/mysqli/mysqli.c 2021-08-23 23:19:40.372444781 +0200
4 @@ -571,6 +571,7 @@ PHP_INI_BEGIN()
6 STD_PHP_INI_ENTRY("mysqli.default_socket", NULL, PHP_INI_ALL, OnUpdateStringUnempty, default_socket, zend_mysqli_globals, mysqli_globals)
8 + STD_PHP_INI_ENTRY("mysqli.connect_charset", NULL, PHP_INI_ALL, OnUpdateString, connect_charset, zend_mysqli_globals, mysqli_globals)
9 STD_PHP_INI_BOOLEAN("mysqli.reconnect", "0", PHP_INI_SYSTEM, OnUpdateLong, reconnect, zend_mysqli_globals, mysqli_globals)
10 STD_PHP_INI_BOOLEAN("mysqli.allow_local_infile", "1", PHP_INI_SYSTEM, OnUpdateLong, allow_local_infile, zend_mysqli_globals, mysqli_globals)
12 @@ -592,6 +593,7 @@ static PHP_GINIT_FUNCTION(mysqli)
13 mysqli_globals->default_user = NULL;
14 mysqli_globals->default_pw = NULL;
15 mysqli_globals->default_socket = NULL;
16 + mysqli_globals->connect_charset = NULL;
17 mysqli_globals->reconnect = 0;
18 mysqli_globals->report_mode = 0;
19 mysqli_globals->report_ht = 0;
20 diff -urNp -x '*.orig' php-5.6.40.org/ext/mysqli/mysqli_nonapi.c php-5.6.40/ext/mysqli/mysqli_nonapi.c
21 --- php-5.6.40.org/ext/mysqli/mysqli_nonapi.c 2019-01-09 10:54:13.000000000 +0100
22 +++ php-5.6.40/ext/mysqli/mysqli_nonapi.c 2021-08-23 23:19:40.372444781 +0200
23 @@ -62,7 +62,7 @@ void mysqli_common_connect(INTERNAL_FUNC
24 MY_MYSQL *mysql = NULL;
25 MYSQLI_RESOURCE *mysqli_resource = NULL;
26 zval *object = getThis();
27 - char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL;
28 + char *hostname = NULL, *username=NULL, *passwd=NULL, *dbname=NULL, *socket=NULL, *connect_charset=NULL;
29 int hostname_len = 0, username_len = 0, passwd_len = 0, dbname_len = 0, socket_len = 0;
30 zend_bool persistent = FALSE;
31 long port = 0, flags = 0;
32 @@ -235,6 +235,12 @@ void mysqli_common_connect(INTERNAL_FUNC
36 + connect_charset = MyG(connect_charset);
38 + if (connect_charset != NULL) {
39 + mysql_options(mysql->mysql, MYSQL_SET_CHARSET_NAME, connect_charset);
42 #if !defined(MYSQLI_USE_MYSQLND)
43 /* BC for prior to bug fix #53425 */
44 flags |= CLIENT_MULTI_RESULTS;
45 diff -urNp -x '*.orig' php-5.6.40.org/ext/mysqli/php_mysqli_structs.h php-5.6.40/ext/mysqli/php_mysqli_structs.h
46 --- php-5.6.40.org/ext/mysqli/php_mysqli_structs.h 2019-01-09 10:54:13.000000000 +0100
47 +++ php-5.6.40/ext/mysqli/php_mysqli_structs.h 2021-08-23 23:19:40.372444781 +0200
48 @@ -329,6 +329,7 @@ ZEND_BEGIN_MODULE_GLOBALS(mysqli)
52 + char *connect_charset;
54 long allow_local_infile;