Tiny Tiny RSS auf UTF8MB4 umstellen
Nachdem jetzt mein Weblog endlich UTF8MB4 (und damit die Emojis) kann, stelle ich verdutzt fest, dass meine Tiny Tiny RSS Installation das scheinbar nicht beherrscht. Der Autor ist scheinbar nicht gewillt, dies zu implementieren. Dabei ist der Aufwand recht gering, ich habe dazu auf krenger.ch eine Anleitung mit den entsprechenden MYSQL-Befehlen gefunden, um die erforderlichen Datenbank-Tabellen zu konvertieren. Für die vollständige Beschreibung bitte im Link und den darin verweisenden Quellen lesen! Die nachfolgende Anleitung ist nur für mich ein “Stand der Dinge”, wie es zum Artikel-Zeitpunkt bei mir (auch) funktioniert hat.
Zuerst muss die gesamte Datenbank umgewandelt werden (war bei mir nicht mehr erforderlich, passierte scheinbar schon beim Umzug zu Uberspace 7)
ALTER DATABASE database_name CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
Dann muss man sich um den Index der Tabellen kümmern, da es damit wohl ein Problem gibt bei der Zeichenzahl, wenn man auf MB4 wechselt.
ALTER TABLE `ttrss_entries`
DROP INDEX `guid`,
DROP INDEX `ttrss_entries_guid_index`;
ALTER TABLE `ttrss_entries`
ADD UNIQUE INDEX `guid` (`guid`(191) ASC),
ADD INDEX `ttrss_entries_guid_index` (`guid`(191) ASC);
Nun kann man die nötigen Tabellen umstellen.
ALTER TABLE ttrss_entries CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE ttrss_error_log CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE ttrss_archived_feeds CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE ttrss_archived_feeds CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
ALTER TABLE ttrss_enclosures CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
Zu guter Letzt muss man in der config nur noch den Zeichensatz von UTF8 auf UTF8MB4 ändern und schon klappt es. ✌️