summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorfox <[email protected]>2021-03-13 20:08:06 +0300
committerfox <[email protected]>2021-03-13 20:08:06 +0300
commit1b71cd9f44dc022581119c2fcd67b02fa9843962 (patch)
tree4e029feed0a49c3adfee4dba97c68760e336489e
parent2f402d598d7b40acb4380b10924d2bcbe864ab27 (diff)
parent3d801b1ac5be4d025ff030407e9a0f8dc3330d42 (diff)
Merge pull request 'Set orm and pdo mysql charset on connection' (#19) from Gravemind/tt-rss:fix-mysql-charset into master
Reviewed-on: https://git.tt-rss.org/fox/tt-rss/pulls/19
-rwxr-xr-xclasses/db.php10
1 files changed, 9 insertions, 1 deletions
diff --git a/classes/db.php b/classes/db.php
index 008275bca..a09c44628 100755
--- a/classes/db.php
+++ b/classes/db.php
@@ -14,6 +14,9 @@ class Db
ORM::configure('username', Config::get(Config::DB_USER));
ORM::configure('password', Config::get(Config::DB_PASS));
ORM::configure('return_result_sets', true);
+ if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) {
+ ORM::configure('driver_options', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES ' . Config::get(Config::MYSQL_CHARSET)));
+ }
}
static function NOW() {
@@ -27,8 +30,13 @@ class Db
public static function get_dsn() {
$db_port = Config::get(Config::DB_PORT) ? ';port=' . Config::get(Config::DB_PORT) : '';
$db_host = Config::get(Config::DB_HOST) ? ';host=' . Config::get(Config::DB_HOST) : '';
+ if (Config::get(Config::DB_TYPE) == "mysql" && Config::get(Config::MYSQL_CHARSET)) {
+ $db_charset = ';charset=' . Config::get(Config::MYSQL_CHARSET);
+ } else {
+ $db_charset = '';
+ }
- return Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port;
+ return Config::get(Config::DB_TYPE) . ':dbname=' . Config::get(Config::DB_NAME) . $db_host . $db_port . $db_charset;
}
// this really shouldn't be used unless a separate PDO connection is needed