mirror of
https://github.com/PyMySQL/mysqlclient.git
synced 2025-08-15 19:31:54 +08:00
set charset before connect (#382)
This commit is contained in:
@ -397,7 +397,7 @@ _mysql_ConnectionObject_Initialize(
|
|||||||
"read_default_file", "read_default_group",
|
"read_default_file", "read_default_group",
|
||||||
"client_flag", "ssl",
|
"client_flag", "ssl",
|
||||||
"local_infile",
|
"local_infile",
|
||||||
"read_timeout", "write_timeout",
|
"read_timeout", "write_timeout", "charset",
|
||||||
NULL } ;
|
NULL } ;
|
||||||
int connect_timeout = 0;
|
int connect_timeout = 0;
|
||||||
int read_timeout = 0;
|
int read_timeout = 0;
|
||||||
@ -405,13 +405,14 @@ _mysql_ConnectionObject_Initialize(
|
|||||||
int compress = -1, named_pipe = -1, local_infile = -1;
|
int compress = -1, named_pipe = -1, local_infile = -1;
|
||||||
char *init_command=NULL,
|
char *init_command=NULL,
|
||||||
*read_default_file=NULL,
|
*read_default_file=NULL,
|
||||||
*read_default_group=NULL;
|
*read_default_group=NULL,
|
||||||
|
*charset=NULL;
|
||||||
|
|
||||||
self->converter = NULL;
|
self->converter = NULL;
|
||||||
self->open = 0;
|
self->open = 0;
|
||||||
|
|
||||||
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
|
if (!PyArg_ParseTupleAndKeywords(args, kwargs,
|
||||||
"|ssssisOiiisssiOiii:connect",
|
"|ssssisOiiisssiOiiis:connect",
|
||||||
kwlist,
|
kwlist,
|
||||||
&host, &user, &passwd, &db,
|
&host, &user, &passwd, &db,
|
||||||
&port, &unix_socket, &conv,
|
&port, &unix_socket, &conv,
|
||||||
@ -422,7 +423,8 @@ _mysql_ConnectionObject_Initialize(
|
|||||||
&client_flag, &ssl,
|
&client_flag, &ssl,
|
||||||
&local_infile,
|
&local_infile,
|
||||||
&read_timeout,
|
&read_timeout,
|
||||||
&write_timeout
|
&write_timeout,
|
||||||
|
&charset
|
||||||
))
|
))
|
||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
@ -486,6 +488,9 @@ _mysql_ConnectionObject_Initialize(
|
|||||||
if (ssl) {
|
if (ssl) {
|
||||||
mysql_ssl_set(&(self->connection), key, cert, ca, capath, cipher);
|
mysql_ssl_set(&(self->connection), key, cert, ca, capath, cipher);
|
||||||
}
|
}
|
||||||
|
if (charset) {
|
||||||
|
mysql_options(&(self->connection), MYSQL_SET_CHARSET_NAME, charset);
|
||||||
|
}
|
||||||
|
|
||||||
conn = mysql_real_connect(&(self->connection), host, user, passwd, db,
|
conn = mysql_real_connect(&(self->connection), host, user, passwd, db,
|
||||||
port, unix_socket, client_flag);
|
port, unix_socket, client_flag);
|
||||||
|
@ -140,7 +140,7 @@ class Connection(_mysql.connection):
|
|||||||
kwargs2['conv'] = conv2
|
kwargs2['conv'] = conv2
|
||||||
|
|
||||||
cursorclass = kwargs2.pop('cursorclass', self.default_cursor)
|
cursorclass = kwargs2.pop('cursorclass', self.default_cursor)
|
||||||
charset = kwargs2.pop('charset', '')
|
charset = kwargs2.get('charset', '')
|
||||||
|
|
||||||
if charset or not PY2:
|
if charset or not PY2:
|
||||||
use_unicode = True
|
use_unicode = True
|
||||||
|
Reference in New Issue
Block a user