From 64c9ef96c4a8b205e32cdc1a38038aef18dcf4cf Mon Sep 17 00:00:00 2001 From: Joas Schilling Date: Tue, 18 Oct 2016 11:37:49 +0200 Subject: Fix like queries in the QueryBuilder Signed-off-by: Joas Schilling --- lib/private/DB/AdapterMySQL.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'lib/private/DB/AdapterMySQL.php') diff --git a/lib/private/DB/AdapterMySQL.php b/lib/private/DB/AdapterMySQL.php index 0c0c6b31021..aa784bb83dc 100644 --- a/lib/private/DB/AdapterMySQL.php +++ b/lib/private/DB/AdapterMySQL.php @@ -27,6 +27,9 @@ namespace OC\DB; class AdapterMySQL extends Adapter { + /** @var string */ + protected $charset; + /** * @param string $tableName */ @@ -39,8 +42,16 @@ class AdapterMySQL extends Adapter { } public function fixupStatement($statement) { - $characterSet = \OC::$server->getConfig()->getSystemValue('mysql.utf8mb4', false) ? 'utf8mb4' : 'utf8'; - $statement = str_replace(' ILIKE ', ' COLLATE ' . $characterSet . '_general_ci LIKE ', $statement); + $statement = str_replace(' ILIKE ', ' COLLATE ' . $this->getCharset() . '_general_ci LIKE ', $statement); return $statement; } + + protected function getCharset() { + if (!$this->charset) { + $params = $this->conn->getParams(); + $this->charset = isset($params['charset']) ? $params['charset'] : 'utf8'; + } + + return $this->charset; + } } -- cgit v1.2.3