aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engine/lib/database.php5
-rw-r--r--engine/schema/upgrades/2009100701.sql19
2 files changed, 23 insertions, 1 deletions
diff --git a/engine/lib/database.php b/engine/lib/database.php
index fa3a91fbb..ff74c3655 100644
--- a/engine/lib/database.php
+++ b/engine/lib/database.php
@@ -56,6 +56,9 @@
if (!mysql_select_db($CONFIG->dbname, $dblink[$dblinkname]))
throw new DatabaseException(sprintf(elgg_echo('DatabaseException:NoConnect'), $CONFIG->dbname));
+ // Set DB for UTF8
+ mysql_query("SET NAMES utf8");
+
// Set up cache
if ((!$DB_QUERY_CACHE) && (!$CONFIG->db_disable_query_cache))
$DB_QUERY_CACHE = new ElggStaticVariableCache('db_query_cache'); //array();
@@ -651,4 +654,4 @@
register_elgg_event_handler('boot','system','init_db',0);
-?> \ No newline at end of file
+?>
diff --git a/engine/schema/upgrades/2009100701.sql b/engine/schema/upgrades/2009100701.sql
new file mode 100644
index 000000000..f84096a94
--- /dev/null
+++ b/engine/schema/upgrades/2009100701.sql
@@ -0,0 +1,19 @@
+SET NAMES utf8;
+
+REPLACE INTO `prefix_metastrings` (id, string)
+ SELECT id, unhex(hex(convert(string using latin1)))
+ FROM `prefix_metastrings`;
+
+REPLACE INTO `prefix_groups_entity` (guid, name, description)
+ SELECT guid, unhex(hex(convert(name using latin1))), unhex(hex(convert(description using latin1)))
+ FROM `prefix_groups_entity`;
+
+REPLACE INTO `prefix_objects_entity` (guid, title, description)
+ SELECT guid, unhex(hex(convert(title using latin1))), unhex(hex(convert(description using latin1)))
+ FROM `prefix_objects_entity`;
+
+REPLACE INTO `prefix_users_entity` (guid, name, username, password, salt, email, language, code,
+ banned, last_action, prev_last_action, last_login, prev_last_login)
+ SELECT guid, unhex(hex(convert(name using latin1))), username, password, salt, email, language, code,
+ banned, last_action, prev_last_action, last_login, prev_last_login
+ FROM `prefix_users_entity`;