From fbdeff270028e050980984f3e3dcd336edac5853 Mon Sep 17 00:00:00 2001 From: Laurent Destailleur Date: Tue, 9 May 2006 00:16:56 +0000 Subject: [PATCH] =?UTF-8?q?Patch:=20Patch=20gestion=20utf8=20en=20base=20d?= =?UTF-8?q?e=20donn=E9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- htdocs/lib/mysql.lib.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/htdocs/lib/mysql.lib.php b/htdocs/lib/mysql.lib.php index e3d294072cf..a92488c1f56 100644 --- a/htdocs/lib/mysql.lib.php +++ b/htdocs/lib/mysql.lib.php @@ -41,6 +41,8 @@ class DoliDb { var $db; // Handler de base var $type='mysql'; // Nom du gestionnaire + var $forcecharset='latin1'; + var $forcecollate='latin1_swedish_ci'; var $results; // Resultset de la dernière requete @@ -55,6 +57,7 @@ class DoliDb var $ok; var $error; + // Constantes pour conversion code erreur MySql en code erreur générique var $errorcode_map = array( @@ -120,6 +123,11 @@ class DoliDb if ($this->db) { + // Si client connecté avec charset different de celui de Dolibarr + if (mysql_client_encoding ( $this->db ) != $this->forcecharset) + { + $this->query("SET NAMES '".$this->forcecharset."'", $this->db); + } $this->connected = 1; $this->ok = 1; } @@ -226,7 +234,7 @@ class DoliDb */ function create_db($database) { - $ret=$this->query('CREATE DATABASE '.$database); + $ret=$this->query('CREATE DATABASE '.$database.' DEFAULT CHARACTER SET '.$this->forcecharset.' DEFAULT COLLATE '.$this->forcecollate); //print "database=".$this->database_name." ret=".$ret." mysqlerror=".mysql_error($this->db); return $ret; }