Archivierte, gelöschte Posts

Das böse DVD-Emoji …

| geschrieben von Dr. Sooom
… zerschoss mir die MySQL-Datenbank des phpBB-Forums, und zwar als ich diese interne News um Punkt 22:00 Uhr veröffentlichen wollte. Eigentlich sollte das phpBB-Forum in Version 3.0.7-PL1 mit UTF-8 problemlos umgehen können, aber als ich jene interne News, die das 📀-Zeichen ursprünglich enthielt, via dem Posting-Formular abschicken aka veröffentlichen wollte, wurde mir folgender Fehler ausgegeben:

Zurück zur Foren-Übersicht
Allgemeiner Fehler
SQL ERROR [ mysql4 ]

Incorrect string value: '\xF0\x9F\x93\x80 (...' for column 'post_text' at row 1 [1366]

SQL

INSERT INTO phpbb_posts (forum_id, […] 1106)

BACKTRACE

FILE: includes/db/mysql.php
LINE: 174
CALL: dbal->sql_error()

FILE: includes/functions_posting.php
LINE: 1985
CALL: dbal_mysql->sql_query()

FILE: posting.php
LINE: 1108
CALL: submit_post()
Bitte informiere die Board-Administration oder den Webmaster: […]@danielmayr.at
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group

Wie praktisch, dass ich Webmaster und Board-Administrator in einer Person war. Also als Resultat war jetzt zwar im Sidebar-Block "Interne News" außerhalb des phpBB-Forums der Titel jener besagten News bereits ersichtlich gewesen, nicht aber dessen Inhalt, da jener in die MySQL-Datenbank (MySQL 10.1.37-MariaDB-1) ja nicht mehr erfolgreich geschrieben werden konnte. Toll. Zum allerersten Mal schmiss ich ein UTF-16-Surrogate-Paar in einen News-Text und schon flog mir alles um die Ohren. Der exakte Code-Punkt jenes Unicode-Zeichens lautet in UTF-8 F0-9F-93-80, in UTF-16 D83D-DCC0 und in UTF-32 U+1F4C0. Das der Übeltäter hier gelegen hatte, war mir übrigens relativ rasch klar gewesen. Das half mir jetzt aber auch nur bedingt, da ich zuerst mal das phpBB-Forum wieder reparieren musste.

Also machte ich mich gleich mal ans Werk und … sicherte gleich mal um 22:28 Uhr die MySQL-Datenbank. Nichts geht über Backups. Und um 22:35 Uhr – nach weiterer Recherche und Überlegung – versuchte ich dann mein Glück mit der Funktion namens "Synchronisieren" beim Forum "Interne News" im phpBB-Admin-Bereich. Anschließend passierte kurz für wenige Sekunden irgendetwas und schon landete ich wieder auf der ursprünglichen Seite im Admin-Bereich. Anschließend schaute ich mir den Sidebar-Block außerhalb des phpBB-Forums erneut an und der Eintrag war dort nicht mehr ersichtlich gewesen. Im phpBB-Forum selber war er übrigens eh zu keinem Zeitpunkt sichtbar gewesen, aber das interessierte mich nicht die Bohne, da ich das phpBB-Forum lediglich als Backend für Daniel Mayr.at bis Montag, dem 3. August 2020, benutzte.

Bevor ich nun allerdings nochmals jene interne News um 22:40 Uhr auf die Reise schickte, und zwar diesmal ohne dem 📀-Zeichen, eröffnete ich kurz einen neuen Thread, wobei ich zum Zeitpunkt der Niederschrift dieses Textes hier am Freitag, dem 31. Jänner 2020, nicht mehr mit Sicherheit sagen kann, ob dies vor oder nach der forum-Resynchronisierung gewesen war. Aber zwei Punkte waren zu jenem Zeipunkt, also um kurz nach 22:35 Uhr am Dienstag, dem 5. November 2019, klar gewesen: Jener Test-Thread konnte problemlos erstellt werden, worauf er gleich wieder gelöscht wurde. Und dies erklärt somit das Vorhandensein des allerletzten, gelöschten Posts mit der Post-ID #1107, sowie den Grund, warum die interne News nebst den dazugehörigen aktualisierten HUC-Brailel-Tables-Seiten an jenem Tag 40 Minuten später als ursprünglich geplant online gingen. Was für eine nervenaufregende Geschichte.