From 219eb3432260ac3d2fbc1c499dfa5392496dad42 Mon Sep 17 00:00:00 2001 From: PeterLaemmle Date: Sun, 29 Dec 2019 12:27:17 +0100 Subject: [PATCH 1/5] Update MySQL.py Full UTF-8 support. Update MySQL plugin and web UI to allow storage and display of emojis. --- plugins/MySQL/MySQL.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/MySQL/MySQL.py b/plugins/MySQL/MySQL.py index 489dbe6..04a8d08 100644 --- a/plugins/MySQL/MySQL.py +++ b/plugins/MySQL/MySQL.py @@ -91,7 +91,7 @@ def run(typ,freq,data): # Connect to MySQL # logging.debug("connect to MySQL") - connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), port = globalVars.config.get("MySQL","dbport"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8') + connection = mysql.connector.connect(host = globalVars.config.get("MySQL","dbserver"), port = globalVars.config.get("MySQL","dbport"), user = globalVars.config.get("MySQL","dbuser"), passwd = globalVars.config.get("MySQL","dbpassword"), db = globalVars.config.get("MySQL","database"), charset='utf8mb4') cursor = connection.cursor() except: logging.error("cannot connect to MySQL") From 7d67bd87ac63cedee2708d46c2461b4e2449516d Mon Sep 17 00:00:00 2001 From: PeterLaemmle Date: Sun, 29 Dec 2019 12:40:56 +0100 Subject: [PATCH 2/5] Update mysql.class.php Full UTF-8 support. Update MySQL plugin and web UI to allow storage and display of emojis. --- exampleAddOns/simpleWeb/mysql.class.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/exampleAddOns/simpleWeb/mysql.class.php b/exampleAddOns/simpleWeb/mysql.class.php index a74b4b6..8aa1445 100644 --- a/exampleAddOns/simpleWeb/mysql.class.php +++ b/exampleAddOns/simpleWeb/mysql.class.php @@ -35,6 +35,10 @@ Simple Database Class (C) by Bastian Schroll $this->error("Datenbank nicht gefunden!", mysqli_error($this->conn)); return false; } + + /* Set character set for database connection to utf8mb4 */ + mysqli_query($this->conn, "SET NAMES 'utf8mb4'"); + return true; } From a7c657e447b35c79298522b475e9cc59c171592f Mon Sep 17 00:00:00 2001 From: PeterLaemmle Date: Sun, 29 Dec 2019 13:30:13 +0100 Subject: [PATCH 3/5] Update boswatch.sql Full UTF-8 support. Update MySQL plugin and web UI to allow storage and display of emojis. --- plugins/MySQL/boswatch.sql | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/plugins/MySQL/boswatch.sql b/plugins/MySQL/boswatch.sql index 77f35c8..8bf56d7 100644 --- a/plugins/MySQL/boswatch.sql +++ b/plugins/MySQL/boswatch.sql @@ -17,7 +17,7 @@ SET time_zone = "+00:00"; /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; -/*!40101 SET NAMES utf8 */; +/*!40101 SET NAMES utf8mb4 */; -- -------------------------------------------------------- @@ -25,8 +25,8 @@ SET time_zone = "+00:00"; -- Datenbank anlegen `boswatch` -- -CREATE DATABASE IF NOT EXISTS boswatch; -USE boswatch; +CREATE DATABASE IF NOT EXISTS 'boswatch' DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; +USE 'boswatch'; -- -------------------------------------------------------- @@ -53,7 +53,7 @@ CREATE TABLE IF NOT EXISTS `bos_fms` ( `tsi` VARCHAR(3) NOT NULL, `description` TEXT NOT NULL, PRIMARY KEY (`ID`) -) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=itf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; -- -------------------------------------------------------- @@ -72,7 +72,7 @@ CREATE TABLE IF NOT EXISTS `bos_pocsag` ( `description` TEXT NOT NULL, PRIMARY KEY (`ID`), KEY `POCSAG_RIC_IDX` (`ric`) -) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; -- rename old columns including little error-prevention #ALTER IGNORE TABLE `bos_pocsag` change `funktion` `function` INT(1); @@ -90,7 +90,7 @@ CREATE TABLE IF NOT EXISTS `bos_zvei` ( `zvei` VARCHAR(5) NOT NULL DEFAULT '0', `description` TEXT NOT NULL, PRIMARY KEY (`ID`) -) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; -- -------------------------------------------------------- @@ -103,7 +103,7 @@ CREATE TABLE IF NOT EXISTS `bos_signal` ( `time` DATETIME NOT NULL, `ric` VARCHAR(7) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`) -) ENGINE=MYISAM DEFAULT CHARSET=UTF8 AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utb8mb4_unicode_ci AUTO_INCREMENT=1; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; From ad405829ea6751cd86fd4a60aa918966481691d2 Mon Sep 17 00:00:00 2001 From: PeterLaemmle Date: Sun, 29 Dec 2019 13:36:36 +0100 Subject: [PATCH 4/5] Update boswatch.sql Full UTF-8 support. Update MySQL plugin and web UI to allow storage and display of emojis. --- plugins/MySQL/boswatch.sql | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/MySQL/boswatch.sql b/plugins/MySQL/boswatch.sql index 8bf56d7..cd044a8 100644 --- a/plugins/MySQL/boswatch.sql +++ b/plugins/MySQL/boswatch.sql @@ -53,7 +53,7 @@ CREATE TABLE IF NOT EXISTS `bos_fms` ( `tsi` VARCHAR(3) NOT NULL, `description` TEXT NOT NULL, PRIMARY KEY (`ID`) -) ENGINE=MYISAM DEFAULT CHARSET=itf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; -- -------------------------------------------------------- @@ -103,7 +103,7 @@ CREATE TABLE IF NOT EXISTS `bos_signal` ( `time` DATETIME NOT NULL, `ric` VARCHAR(7) NOT NULL DEFAULT '0', PRIMARY KEY (`ID`) -) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utb8mb4_unicode_ci AUTO_INCREMENT=1; +) ENGINE=MYISAM DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci AUTO_INCREMENT=1; /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; From 3c92d4285f7f50a98487e4f38c96f0821d457537 Mon Sep 17 00:00:00 2001 From: PeterLaemmle Date: Sun, 29 Dec 2019 13:44:10 +0100 Subject: [PATCH 5/5] Update CHANGELOG.md Full UTF-8 support. Update MySQL plugin and web UI to allow storage and display of emojis. --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8d43f24..74f0218 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ ##### Removed ##### Fixed - Description-List: Buchstaben in FMS-Kennungen werden nun erkannt und zugelassen [#409](https://github.com/Schrolli91/BOSWatch/issues/409) +- MySQL-Plugin: Volle UTF-8 Kompatibilität für Datenbankstruktur, Verbindung und Darstellung im WebUI [#398](https://github.com/Schrolli91/BOSWatch/issues/398) ##### Security