Browse Source

Set the charset for the SQL connection for new installations

tags/3.5
Michael Vogel 4 years ago
parent
commit
9209d88c4a
3 changed files with 29 additions and 4 deletions
  1. +5
    -0
      htconfig.php
  2. +19
    -4
      include/dba.php
  3. +5
    -0
      view/templates/htconfig.tpl

+ 5
- 0
htconfig.php View File

@@ -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.



+ 19
- 4
include/dba.php View File

@@ -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) {


+ 5
- 0
view/templates/htconfig.tpl View File

@@ -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…
Cancel
Save