# HG changeset patch # User Mads Kiilerich # Date 2020-06-15 14:57:20 # Node ID 210e76d69b62057e04921169b272cc3f8c19fb9c # Parent 1e0cd9f75fbc5fa2b7a789d5030f59038b560836 mysql: bump charset to to 'utf8mb4' to get full UTF-8 support We used to use 'utf8', but in MySQL, this is just an alias for 'utf8mb3' which isn't full unicode. 'utf8mb4' has less surprises (especially if used with the 'utf8mb4_unicode_ci' collation). MySQL character sets for server, database, tables, and connection are set independently. Until now, we have specified 'utf8' when creating tables to overrule the database charset and in the default MySQL connection URL. For existing databases, it is recommended to change encoding (and collation) by altering the each of the tables inside it as described on https://stackoverflow.com/questions/6115612/how-to-convert-an-entire-mysql-database-characterset-and-collation-to-utf-8 . diff --git a/kallithea/model/db.py b/kallithea/model/db.py --- a/kallithea/model/db.py +++ b/kallithea/model/db.py @@ -167,7 +167,7 @@ class BaseDbModel(object): _table_args_default_dict = {'extend_existing': True, 'mysql_engine': 'InnoDB', - 'mysql_charset': 'utf8', + 'mysql_charset': 'utf8mb4', 'sqlite_autoincrement': True, }