From e65b04a9bf37a5aa108d8b2e9d5b42c3edc7f952 Mon Sep 17 00:00:00 2001 From: tbrehm <t.brehm@ispconfig.org> Date: Wed, 10 Feb 2010 08:25:34 -0500 Subject: [PATCH] Fixed general utf8 encoding problems when data is passed from frontend to server, this fixes also bug FS#1065 - Special characters in autoresponder subject may break the autoresponder --- server/lib/classes/db_mysql.inc.php | 2 ++ server/lib/classes/modules.inc.php | 12 ++++++++---- interface/lib/classes/db_mysql.inc.php | 1 + 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/interface/lib/classes/db_mysql.inc.php b/interface/lib/classes/db_mysql.inc.php index a358598..3146a0f 100644 --- a/interface/lib/classes/db_mysql.inc.php +++ b/interface/lib/classes/db_mysql.inc.php @@ -76,6 +76,7 @@ return false; } $this->queryId = @mysql_query('SET NAMES '.$this->dbCharset, $this->linkId); + $this->queryId = @mysql_query("SET character_set_results = '".$this->dbCharset."', character_set_client = '".$this->dbCharset."', character_set_connection = '".$this->dbCharset."', character_set_database = '".$this->dbCharset."', character_set_server = '".$this->dbCharset."'", $this->linkId); } return true; } diff --git a/server/lib/classes/db_mysql.inc.php b/server/lib/classes/db_mysql.inc.php index 1a3b978..2cd6e22 100644 --- a/server/lib/classes/db_mysql.inc.php +++ b/server/lib/classes/db_mysql.inc.php @@ -80,6 +80,8 @@ $this->updateError('DB::connect()-> mysql_connect'); return false; } + $this->queryId = @mysql_query('SET NAMES '.$this->dbCharset, $this->linkId); + $this->queryId = @mysql_query("SET character_set_results = '".$this->dbCharset."', character_set_client = '".$this->dbCharset."', character_set_connection = '".$this->dbCharset."', character_set_database = '".$this->dbCharset."', character_set_server = '".$this->dbCharset."'", $this->linkId); } return true; } diff --git a/server/lib/classes/modules.inc.php b/server/lib/classes/modules.inc.php index fd8e473..aa4a2ed 100644 --- a/server/lib/classes/modules.inc.php +++ b/server/lib/classes/modules.inc.php @@ -94,16 +94,18 @@ foreach($records as $d) { //** encode data to utf-8 and unserialize it - if(!$data = unserialize(utf8_encode(stripslashes($d["data"])))) { - $data = unserialize(utf8_encode($d["data"])); + if(!$data = unserialize(stripslashes($d["data"]))) { + $data = unserialize($d["data"]); } //** Decode data back to locale + /* foreach($data['old'] as $key => $val) { $data['old'][$key] = utf8_decode($val); } foreach($data['new'] as $key => $val) { $data['new'][$key] = utf8_decode($val); } + */ $replication_error = false; @@ -188,16 +190,18 @@ foreach($records as $d) { //** encode data to utf-8 to be able to unserialize it and then unserialize it - if(!$data = unserialize(utf8_encode(stripslashes($d["data"])))) { - $data = unserialize(utf8_encode($d["data"])); + if(!$data = unserialize(stripslashes($d["data"]))) { + $data = unserialize($d["data"]); } //** decode data back to current locale + /* foreach($data['old'] as $key => $val) { $data['old'][$key] = utf8_decode($val); } foreach($data['new'] as $key => $val) { $data['new'][$key] = utf8_decode($val); } + */ $this->current_datalog_id = $d["datalog_id"]; $this->raiseTableHook($d["dbtable"],$d["action"],$data); -- Gitblit v1.9.1