diff --git a/htdocs/admin/system/index.php b/htdocs/admin/system/index.php index 3e5e986eac2..45bd00fdc17 100644 --- a/htdocs/admin/system/index.php +++ b/htdocs/admin/system/index.php @@ -131,6 +131,7 @@ $configfilelib=array( $langs->trans("URLRoot"), $langs->trans("DocumentRootServer"), $langs->trans("DataRootServer"), + 'separator', $langs->trans("DatabaseServer"), $langs->trans("DatabaseName"), $langs->trans("DriverType"), diff --git a/htdocs/conf/conf.php.example b/htdocs/conf/conf.php.example index d1268495b2b..3e86d37a7a6 100644 --- a/htdocs/conf/conf.php.example +++ b/htdocs/conf/conf.php.example @@ -96,10 +96,22 @@ $dolibarr_main_db_type=""; # dolibarr_main_db_character_set # Database character set used to store data. +# Default value: depends on database driver +# Examples: +# dolibarr_main_db_character_set="latin1"; # $dolibarr_main_db_character_set="latin1"; +# dolibarr_main_db_collation +# Database character set used to sort data. +# Default value: depends on database driver +# Examples: +# dolibarr_main_db_collation="latin1_swedish_ci"; +# +$dolibarr_main_db_collation="latin1_swedish_ci"; + + # character_set_client # Page code for HTML outputs. # Default value: ISO-8859-1 diff --git a/htdocs/install/etape0.php b/htdocs/install/etape0.php index c8f5b31b8c1..13971e153cf 100644 --- a/htdocs/install/etape0.php +++ b/htdocs/install/etape0.php @@ -166,7 +166,7 @@ if (! $error && $db->connected) getDefaultCharacterSetDatabase(); - $defaultCollationConnection=$db->getDefaultCollationConnection(); + $defaultCollationConnection=$db->getDefaultCollationDatabase(); $listOfCharacterSet=$db->getListOfCharacterSet(); $listOfCollation=$db->getListOfCollation(); @@ -217,7 +217,7 @@ if (! $error && $db->connected) '; + print ''; if ($disabled=="disabled"){ - print ''; + print ''; } } else { - print ''; + print ''; } ?> diff --git a/htdocs/install/etape1.php b/htdocs/install/etape1.php index 27f433269d0..2021bf31945 100644 --- a/htdocs/install/etape1.php +++ b/htdocs/install/etape1.php @@ -142,7 +142,7 @@ if ($_POST["action"] == "set") fputs($fp, '$character_set_client="'.$_POST["character_set_client"].'";'); fputs($fp,"\n"); - fputs($fp, '$collation_connection="'.$_POST["collation_connection"].'";'); + fputs($fp, '$dolibarr_main_db_collation="'.$_POST["dolibarr_main_db_collation"].'";'); fputs($fp,"\n"); /* Authentication */ diff --git a/htdocs/install/inc.php b/htdocs/install/inc.php index bf2e44042f3..83b76bc7e37 100644 --- a/htdocs/install/inc.php +++ b/htdocs/install/inc.php @@ -106,7 +106,7 @@ if (! isset($dolibarr_main_db_prefix) || ! $dolibarr_main_db_prefix) $dolibarr_m define('MAIN_DB_PREFIX',(isset($dolibarr_main_db_prefix)?$dolibarr_main_db_prefix:'')); define('DOL_DATA_ROOT',(isset($dolibarr_main_data_root)?$dolibarr_main_data_root:'')); if (! isset($conf->character_set_client)) $conf->character_set_client='iso-8859-1'; -if (! isset($conf->db->collation_connection)) $conf->db->collation_connection='latin1_swedish_ci'; +if (! isset($conf->db->dolibarr_main_db_collation)) $conf->db->dolibarr_main_db_collation='latin1_swedish_ci'; if (! isset($conf->db->user)) $conf->db->user=''; // Forcage constante LOG @@ -175,8 +175,8 @@ function conf($dolibarr_main_document_root) $conf->character_set_client=$character_set_client; if (! isset($dolibarr_main_db_charset) || ! $dolibarr_main_db_charset) $dolibarr_main_db_charset='latin1'; $conf->db->character_set=$dolibarr_main_db_charset; - if (! isset($collation_connection) || ! $collation_connection) $collation_connection='latin1_swedish_ci'; - $conf->db->collation_connection=$collation_connection; + if (! isset($dolibarr_main_db_collation) || ! $dolibarr_main_db_collation) $dolibarr_main_db_collation='latin1_swedish_ci'; + $conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation; return 1; } diff --git a/htdocs/lib/databases/mssql.lib.php b/htdocs/lib/databases/mssql.lib.php index f610799fafe..4bbb77e43a5 100644 --- a/htdocs/lib/databases/mssql.lib.php +++ b/htdocs/lib/databases/mssql.lib.php @@ -856,7 +856,7 @@ class DoliDb return ''; // attente débuggage } - function getDefaultCollationConnection(){ + function getDefaultCollationDatabase(){ $resql=$this->query("SELECT SERVERPROPERTY('collation')"); if (!$resql) { diff --git a/htdocs/lib/databases/mysql.lib.php b/htdocs/lib/databases/mysql.lib.php index 9fcb6aef1b9..5a3f73c649f 100644 --- a/htdocs/lib/databases/mysql.lib.php +++ b/htdocs/lib/databases/mysql.lib.php @@ -122,15 +122,15 @@ class DoliDb if (file_exists($conffile)) { include($conffile); $this->forcecharset=$character_set_database; - $this->forcecollate=$collation_connection; + $this->forcecollate=$dolibarr_main_db_collation; $this->db_user=$dolibarr_main_db_user; } */ if (isset($conf->db->character_set) && $conf->db->character_set) { $this->forcecharset=$conf->db->character_set; } - if (isset($conf->db->collation_connection) && $conf->db->collation_connection) { - $this->forcecollate=$conf->db->collation_connection; + if (isset($conf->db->dolibarr_main_db_collation) && $conf->db->dolibarr_main_db_collation) { + $this->forcecollate=$conf->db->dolibarr_main_db_collation; } $this->db_user=$conf->db->user; @@ -879,6 +879,10 @@ class DoliDb return 1; } + /** + * \brief Return charset used to store data in database + * \return string Charset + */ function getDefaultCharacterSetDatabase(){ $resql=$this->query('SHOW VARIABLES LIKE \'character_set_database\''); if (!$resql) @@ -910,7 +914,11 @@ class DoliDb return $liste; } - function getDefaultCollationConnection(){ + /** + * \brief Return collation used in database + * \return string Collation value + */ + function getDefaultCollationDatabase(){ $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); if (!$resql) { diff --git a/htdocs/lib/databases/mysqli.lib.php b/htdocs/lib/databases/mysqli.lib.php index 7f65048e2a4..e439aca7c5f 100644 --- a/htdocs/lib/databases/mysqli.lib.php +++ b/htdocs/lib/databases/mysqli.lib.php @@ -121,15 +121,15 @@ class DoliDb if (file_exists($conffile)) { include($conffile); $this->forcecharset=$character_set_database; - $this->forcecollate=$collation_connection; + $this->forcecollate=$dolibarr_main_db_collation; $this->db_user=$dolibarr_main_db_user; } */ if (isset($conf->db->character_set) && $conf->db->character_set) { $this->forcecharset=$conf->db->character_set; } - if (isset($conf->db->collation_connection) && $conf->db->collation_connection) { - $this->forcecollate=$conf->db->collation_connection; + if (isset($conf->db->dolibarr_main_db_collation) && $conf->db->dolibarr_main_db_collation) { + $this->forcecollate=$conf->db->dolibarr_main_db_collation; } $this->db_user=$conf->db->user; @@ -892,6 +892,10 @@ class DoliDb return 1; } + /** + * \brief Return charset used to store data in database + * \return string Charset + */ function getDefaultCharacterSetDatabase(){ $resql=$this->query('SHOW VARIABLES LIKE \'character_set_database\''); if (!$resql) @@ -923,7 +927,11 @@ class DoliDb return $liste; } - function getDefaultCollationConnection(){ + /** + * \brief Return collation used in database + * \return string Collation value + */ + function getDefaultCollationDatabase(){ $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); if (!$resql) { diff --git a/htdocs/lib/databases/pgsql.lib.php b/htdocs/lib/databases/pgsql.lib.php index c7dd966f67f..cc9caa5e6e7 100644 --- a/htdocs/lib/databases/pgsql.lib.php +++ b/htdocs/lib/databases/pgsql.lib.php @@ -78,12 +78,12 @@ class DoliDb if (file_exists($conffile)) { include($conffile); $this->forcecharset=$character_set_database; - $this->forcecollate=$collation_connection; + $this->forcecollate=$dolibarr_main_db_collation; $this->db_user=$dolibarr_main_db_user; } */ $this->forcecharset=$conf->character_set_client; - $this->forcecollate=$conf->db->collation_connection; + $this->forcecollate=$conf->db->dolibarr_main_db_collation; $this->db_user=$conf->db->user; $this->transaction_opened=0; @@ -706,7 +706,7 @@ class DoliDb return $liste; } - function getDefaultCollationConnection(){ + function getDefaultCollationDatabase(){ $resql=$this->query('SHOW VARIABLES LIKE \'collation_database\''); if (!$resql) { diff --git a/htdocs/master.inc.php b/htdocs/master.inc.php index a0457a60cce..bb323fdfa23 100644 --- a/htdocs/master.inc.php +++ b/htdocs/master.inc.php @@ -127,8 +127,8 @@ if (empty($dolibarr_main_db_character_set)) $dolibarr_main_db_character_set='lat $conf->db->character_set=$dolibarr_main_db_character_set; if (empty($dolibarr_main_db_prefix)) $dolibarr_main_db_prefix='llx_'; $conf->db->prefix = $dolibarr_main_db_prefix; -if (empty($collation_connection)) $collation_connection='latin1_swedish_ci'; -$conf->db->collation_connection=$collation_connection; +if (empty($dolibarr_main_db_collation)) $dolibarr_main_db_collation='latin1_swedish_ci'; +$conf->db->dolibarr_main_db_collation=$dolibarr_main_db_collation; // Identifiant autres $conf->main_authentication = $dolibarr_main_authentication; // Identifiant propre au client