diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php
index 1586a53dc7a..a539885576a 100644
--- a/htdocs/lib/databases/mysql.lib.php
+++ b/htdocs/lib/databases/mysql.lib.php
@@ -118,15 +118,25 @@ class DoliDb
*/
function DoliDb($type='mysql', $host, $user, $pass, $name='', $newlink=0)
{
- global $conf,$langs;
- $conffile = DOL_DOCUMENT_ROOT."/conf/conf.php";
- if (file_exists($conffile)) {
- include($conffile);
- $this->forcecharset=$character_set_database;
- $this->forcecollate=$collation_connection;
- $this->db_user=$dolibarr_main_db_user;
- }
- $this->transaction_opened=0;
+ global $conf,$langs;
+
+ /* Ce test est inutile. En effet, si DOL_DOCUMENT_ROOT est défini, cela signifie */
+ /* obligatoirement que le fichier conf a deja été chargée puisque cette constante est */
+ /* definie a partir du contenu du fichier conf.php */
+ /* Et toutes les infos sont chargés dans l'objet conf */
+ /*
+ if (file_exists($conffile)) {
+ include($conffile);
+ $this->forcecharset=$character_set_database;
+ $this->forcecollate=$collation_connection;
+ $this->db_user=$dolibarr_main_db_user;
+ }
+ */
+ $this->forcecharset=$conf->character_set_client;
+ $this->forcecollate=$conf->collation_connection;
+ $this->db_user=$conf->db->user;
+
+ $this->transaction_opened=0;
if (! function_exists("mysql_connect"))
{
diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php
index 78f8f62751e..87bba09c034 100644
--- a/htdocs/lib/databases/mysqli.lib.php
+++ b/htdocs/lib/databases/mysqli.lib.php
@@ -119,13 +119,22 @@ class DoliDb
{
global $conf,$langs;
- $conffile = DOL_DOCUMENT_ROOT."/conf/conf.php";
+ /* Ce test est inutile. En effet, si DOL_DOCUMENT_ROOT est défini, cela signifie */
+ /* obligatoirement que le fichier conf a deja été chargée puisque cette constante est */
+ /* definie a partir du contenu du fichier conf.php */
+ /* Et toutes les infos sont chargés dans l'objet conf */
+ /*
if (file_exists($conffile)) {
include($conffile);
$this->forcecharset=$character_set_database;
$this->forcecollate=$collation_connection;
$this->db_user=$dolibarr_main_db_user;
}
+ */
+ $this->forcecharset=$conf->character_set_client;
+ $this->forcecollate=$conf->collation_connection;
+ $this->db_user=$conf->db->user;
+
$this->transaction_opened=0;
//print "Name DB: $host,$user,$pass,$name
";
diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php
index b4a2e8374c7..2d1e9e55b85 100644
--- a/htdocs/lib/databases/pgsql.lib.php
+++ b/htdocs/lib/databases/pgsql.lib.php
@@ -75,12 +75,23 @@ class DoliDb
function DoliDb($type='pgsql', $host, $user, $pass, $name='')
{
global $conf,$langs;
- $conffile = DOL_DOCUMENT_ROOT."/conf/conf.php";
- if (file_exists($conffile)) {
+
+ /* Ce test est inutile. En effet, si DOL_DOCUMENT_ROOT est défini, cela signifie */
+ /* obligatoirement que le fichier conf a deja été chargée puisque cette constante est */
+ /* definie a partir du contenu du fichier conf.php */
+ /* Et toutes les infos sont chargés dans l'objet conf */
+ /*
+ if (file_exists($conffile)) {
include($conffile);
$this->forcecharset=$character_set_database;
+ $this->forcecollate=$collation_connection;
$this->db_user=$dolibarr_main_db_user;
}
+ */
+ $this->forcecharset=$conf->character_set_client;
+ $this->forcecollate=$conf->collation_connection;
+ $this->db_user=$conf->db->user;
+
$this->transaction_opened=0;
//print "Name DB: $host,$user,$pass,$name
";
diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php
index c6e949ef79c..7448b4916ef 100644
--- a/htdocs/master.inc.php
+++ b/htdocs/master.inc.php
@@ -105,7 +105,7 @@ if ($dolibarr_main_db_encrypted_pass) $dolibarr_main_db_pass = dolibarr_decode($
require_once(DOL_DOCUMENT_ROOT."/conf/conf.class.php");
$conf = new Conf();
-// On defini tous les parametres de conf
+// Identifiant propres au serveur base de donnee
$conf->db->host = $dolibarr_main_db_host;
$conf->db->name = $dolibarr_main_db_name;
$conf->db->user = $dolibarr_main_db_user;
@@ -114,10 +114,14 @@ if (! isset($dolibarr_main_db_type) && ! $dolibarr_main_db_type) $dolibarr_main_
$conf->db->type = $dolibarr_main_db_type;
if (! isset($dolibarr_main_db_charset) && ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='ISO-8859-1'; // Pour compatibilite avec anciennes configs, si non defini, on prend 'mysql'
$conf->db->character_set=$dolibarr_main_db_charset;
-if (! isset($character_set_client) || ! $character_set_client) $character_set_client='ISO-8859-1';
-$conf->character_set_client=$character_set_client;
if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_main_db_prefix='llx_';
$conf->db->prefix = $dolibarr_main_db_prefix;
+// Identifiant propre au client
+if (! isset($character_set_client) || ! $character_set_client) $character_set_client='ISO-8859-1';
+$conf->character_set_client=$character_set_client;
+if (! isset($collation_connection) || ! $collation_connection) $collation_connection='latin1_swedish_ci';
+$conf->collation_connection=$collation_connection;
+// Identifiant autres
$conf->main_authentication = $dolibarr_main_authentication;
// Defini prefix