Set the charset for the SQL connection for new installations
This commit is contained in:
parent
1bfe7b432a
commit
9209d88c4a
3 changed files with 29 additions and 4 deletions
|
@ -16,6 +16,11 @@ $db_user = 'mysqlusername';
|
|||
$db_pass = 'mysqlpassword';
|
||||
$db_data = 'mysqldatabasename';
|
||||
|
||||
// Set the database connection charset to UTF8.
|
||||
// Changing this value will likely corrupt the special characters.
|
||||
// You have been warned.
|
||||
$a->config['system']['db_charset'] = "utf8mb4";
|
||||
|
||||
// Choose a legal default timezone. If you are unsure, use "America/Los_Angeles".
|
||||
// It can be changed later and only applies to timestamps for anonymous viewers.
|
||||
|
||||
|
|
|
@ -66,6 +66,8 @@ class dba {
|
|||
if(! mysqli_connect_errno()) {
|
||||
$this->connected = true;
|
||||
}
|
||||
if (isset($a->config["system"]["db_charset"]))
|
||||
$this->db->set_charset($a->config["system"]["db_charset"]);
|
||||
}
|
||||
else {
|
||||
$this->mysqli = false;
|
||||
|
@ -73,6 +75,8 @@ class dba {
|
|||
if($this->db && mysql_select_db($db,$this->db)) {
|
||||
$this->connected = true;
|
||||
}
|
||||
if (isset($a->config["system"]["db_charset"]))
|
||||
mysql_set_charset($a->config["system"]["db_charset"], $this->db);
|
||||
}
|
||||
if(! $this->connected) {
|
||||
$this->db = null;
|
||||
|
@ -95,6 +99,14 @@ class dba {
|
|||
|
||||
$this->error = '';
|
||||
|
||||
// Check the connection (This can reconnect the connection - if configured)
|
||||
if ($this->mysqli)
|
||||
$connected = $this->db->ping();
|
||||
else
|
||||
$connected = mysql_ping($this->db);
|
||||
|
||||
$connstr = ($connected ? "Connected": "Disonnected");
|
||||
|
||||
$stamp1 = microtime(true);
|
||||
|
||||
if($this->mysqli)
|
||||
|
@ -122,14 +134,17 @@ class dba {
|
|||
}
|
||||
|
||||
if($this->mysqli) {
|
||||
if($this->db->errno)
|
||||
if($this->db->errno) {
|
||||
$this->error = $this->db->error;
|
||||
$this->errorno = $this->db->errno;
|
||||
}
|
||||
} elseif(mysql_errno($this->db)) {
|
||||
$this->error = mysql_error($this->db);
|
||||
$this->errorno = mysql_errno($this->db);
|
||||
}
|
||||
elseif(mysql_errno($this->db))
|
||||
$this->error = mysql_error($this->db);
|
||||
|
||||
if(strlen($this->error)) {
|
||||
logger('dba: ' . $this->error);
|
||||
logger('DB Error ('.$connstr.') '.$this->errorno.': '.$this->error);
|
||||
}
|
||||
|
||||
if($this->debug) {
|
||||
|
|
|
@ -15,6 +15,11 @@ $db_user = '{{$dbuser}}';
|
|||
$db_pass = '{{$dbpass}}';
|
||||
$db_data = '{{$dbdata}}';
|
||||
|
||||
// Set the database connection charset to UTF8.
|
||||
// Changing this value will likely corrupt the special characters.
|
||||
// You have been warned.
|
||||
$a->config['system']['db_charset'] = "utf8mb4";
|
||||
|
||||
// email adress for the system admin
|
||||
|
||||
$a->config['admin_email'] = '{{$adminmail}}';
|
||||
|
|
Loading…
Reference in a new issue