Feature #272 - Mode encoding related corrections within the database class.

skala
Ivan Tcholakov 15 years ago
parent 0c8e94a4d6
commit 31a3605eea
  1. 21
      main/inc/lib/database.lib.php

@ -834,17 +834,6 @@ class Database {
return $supported[$encoding];
}
/**
* Sets the encoding to be used by the database server if it is supported.
* @param string $encoding The encoding (a system conventional id, for example 'UTF-8') to be used.
* @author Ivan Tcholakov
*/
public static function set_encoding($encoding) {
if (self::is_encoding_supported($encoding)) {
self::query("SET NAMES `" . self::to_db_encoding($encoding) . "`;", __FILE__, __LINE__);
}
}
/**
* Constructs a SQL clause about default character set and default collation
* for newly created databases and tables.
@ -862,11 +851,11 @@ class Database {
if (empty($language)) {
$language = api_get_interface_language();
}
$db_encoding = Database::to_db_encoding($encoding);
$db_collation = Database::to_db_collation($encoding, $language);
$charset_clause = '';
if (!empty($db_encoding)) {
if (self::is_encoding_supported($encoding)) {
$db_encoding = Database::to_db_encoding($encoding);
$charset_clause .= " DEFAULT CHARACTER SET `".$db_encoding."`";
$db_collation = Database::to_db_collation($encoding, $language);
if (!empty($db_collation)) {
$charset_clause .= " DEFAULT COLLATE `".$db_collation."`";
}
@ -966,8 +955,8 @@ class Database {
static $result = array();
if (!isset($result[$encoding][$language])) {
$result[$encoding][$language] = null;
$db_encoding = self::to_db_encoding($encoding);
if (!empty($db_encoding)) {
if (self::is_encoding_supported($encoding)) {
$db_encoding = self::to_db_encoding($encoding);
if (!empty($language)) {
$lang = api_purify_language_id($language);
$res = self::check_db_collation($db_encoding, $lang);

Loading…
Cancel
Save