diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-05-30 13:59:57 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-05-30 13:59:57 -0400 |
commit | 9e16b7d89b101d8dfebdb8bf22ea56e9b8731bdd (patch) | |
tree | 6761aaa2e72430f4a62168e682a424565953bd4d /classes | |
parent | a262f83210f6a405bfe79148b52387d1dbdd9a5d (diff) |
Use mysql_set_charset for connection instead of SET NAMES
PHP doesn't get the info about the charset of the connection if
you use SET NAMES. So, we use the appropriate PHP function instead.
Diffstat (limited to 'classes')
-rw-r--r-- | classes/Memcached_DataObject.php | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php index 52ad4100f..33ac70dd0 100644 --- a/classes/Memcached_DataObject.php +++ b/classes/Memcached_DataObject.php @@ -239,8 +239,14 @@ class Memcached_DataObject extends DB_DataObject $result = parent::_connect(); if (!$exists) { $DB = &$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5]; - if (common_config('db', 'utf8')) { - $DB->query('SET NAMES "utf8"'); + if (common_config('db', 'type') == 'mysql' && + common_config('db', 'utf8')) { + $conn = $DB->connection; + if ($DB instanceof DB_mysqli) { + mysqli_set_charset($conn, 'utf8'); + } else if ($DB instanceof DB_mysql) { + mysql_set_charset('utf8', $conn); + } } } return $result; |