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