run 'set names' after each connection to deal with UTF8 correctly

This commit is contained in:
Evan Prodromou 2009-04-26 12:13:49 -04:00
parent 4a86823d06
commit a7089de228
1 changed files with 16 additions and 0 deletions

View File

@ -227,4 +227,20 @@ class Memcached_DataObject extends DB_DataObject
$c->set($ckey, $cached, MEMCACHE_COMPRESSED, $expiry);
return new ArrayWrapper($cached);
}
// We overload so that 'SET NAMES "utf8"' is called for
// each connection
function _connect()
{
global $_DB_DATAOBJECT;
$exists = !empty($this->_database_dsn_md5) &&
isset($_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5]);
$result = parent::_connect();
if (!$exists) {
$DB = &$_DB_DATAOBJECT['CONNECTIONS'][$this->_database_dsn_md5];
$DB->query('SET NAMES "utf8"');
}
return $result;
}
}