Merge pull request #426 from PeterLaemmle/develop

Update MySQL plugin to enable full UTF-8 support
This commit is contained in:
Bastian Schroll 2020-04-12 11:25:52 +02:00 committed by GitHub
commit 158e0d73fa
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 13 additions and 8 deletions

View file

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

View file

@ -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;
}

View file

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

View file

@ -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=utf8mb4 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=utf8mb4_unicode_ci AUTO_INCREMENT=1;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;