I use mediawiki 1.31.2 with a standard mysql setup. I edited my sidebar and inserted an utf8 arrow character (🠒). When mediawiki renders a page, I only get the following error message (debug enabled via LocalSettings.php):
[7b56a22d85e7ca2dcbf4ea86] /mediawiki/management/index.php/Main_Page Wikimedia\Rdbms\DBQueryError from line 1457 of /home/www/myinternalhostnamemasked.tld/wikis/management/includes/libs/rdbms/database/Database.php: A database query error has occurred. Did you forget to run your application's database schema updater after upgrading? Query: SELECT lc_value FROM `l10n_cache` WHERE lc_lang = 'en' AND lc_key = 'messages:🠒_https://myinternalhostnamemasked.tld/mediawiki/company/index.php' LIMIT 1 Function: LCStoreDB::get Error: 1300 Invalid utf8 character string: 'F09FA0' (localhost)
Backtrace
#0 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/libs/rdbms/database/Database.php(1427): Wikimedia\Rdbms\Database->makeQueryException(string, integer, string, string) #1 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/libs/rdbms/database/Database.php(1200): Wikimedia\Rdbms\Database->reportQueryError(string, integer, string, string, boolean) #2 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/libs/rdbms/database/Database.php(1653): Wikimedia\Rdbms\Database->query(string, string) #3 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/libs/rdbms/database/Database.php(1479): Wikimedia\Rdbms\Database->select(string, string, array, string, array, array) #4 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/localisation/LCStoreDB.php(52): Wikimedia\Rdbms\Database->selectField(string, string, array, string) #5 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/localisation/LocalisationCache.php(393): LCStoreDB->get(string, string) #6 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/localisation/LocalisationCache.php(292): LocalisationCache->loadSubitem(string, string, string) #7 /home/www/myinternalhostnamemasked.tld/wikis/management/languages/Language.php(2599): LocalisationCache->getSubitem(string, string, string) #8 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/MessageCache.php(913): Language->getMessage(string) #9 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/MessageCache.php(868): MessageCache->getMessageForLang(LanguageEn, string, boolean, array) #10 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/cache/MessageCache.php(808): MessageCache->getMessageFromFallbackChain(LanguageEn, string, boolean) #11 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/Message.php(1290): MessageCache->get(string, boolean, LanguageEn) #12 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/Message.php(982): Message->fetchMessage() #13 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/Skin.php(1348): Message->exists() #14 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/Skin.php(1305): Skin->addToSidebarPlain(array, string) #15 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/Skin.php(1261): Skin->addToSidebar(array, string) #16 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/Skin.php(1287): Skin->{closure}() #17 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/SkinTemplate.php(481): Skin->buildSidebar() #18 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/skins/SkinTemplate.php(249): SkinTemplate->prepareQuickTemplate() #19 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/OutputPage.php(2388): SkinTemplate->outputPage() #20 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/MediaWiki.php(868): OutputPage->output(boolean) #21 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/MediaWiki.php(880): MediaWiki->{closure}() #22 /home/www/myinternalhostnamemasked.tld/wikis/management/includes/MediaWiki.php(524): MediaWiki->main() #23 /home/www/myinternalhostnamemasked.tld/wikis/management/index.php(42): MediaWiki->run() #24 {main}
I fixed it by removing the "problematic" character using the mysql client:
update text set old_text = '' where old_id = 262;
Afterwards, mediawiki was able to process the sidebar content, I edited the page manually to restore its properly working content.