summaryrefslogtreecommitdiff
path: root/classes/Memcached_DataObject.php
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-06-09 21:51:24 -0700
committerEvan Prodromou <evan@controlyourself.ca>2009-06-09 21:51:24 -0700
commit4df1ea49ec75ec9dd64bc8f58c01e64ea18bedc7 (patch)
tree91535b33cd2b62b0726821e4d217d587da7cd61b /classes/Memcached_DataObject.php
parentb3628b78448266fda2368f1317e70d1cca45ac17 (diff)
parented627bb4bd6424325478412055d295b185f9f662 (diff)
Merge branch '0.8.x' into userdesign
Conflicts: actions/designsettings.php
Diffstat (limited to 'classes/Memcached_DataObject.php')
-rw-r--r--classes/Memcached_DataObject.php24
1 files changed, 24 insertions, 0 deletions
diff --git a/classes/Memcached_DataObject.php b/classes/Memcached_DataObject.php
index 5f71f716b..33ac70dd0 100644
--- a/classes/Memcached_DataObject.php
+++ b/classes/Memcached_DataObject.php
@@ -227,4 +227,28 @@ 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];
+ 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;
+ }
}