*** If you're not sure this is actually a bug or valid feature request, instead post about it at https://discuss.kde.org If you're reporting a crash, attach a backtrace with debug symbols; see https://community.kde.org/Guidelines_and_HOWTOs/Debugging/How_to_create_useful_crash_reports Please remove this comment after reading and before submitting - thanks! *** DESCRIPTION XML tags are not saved correctly in the Tellico database when they contain emoticons. STEPS TO REPRODUCE 1. Create a field (of the ‘Checkbox’ or ‘Choice’ type, for content filtering) whose title contains an emoticon 2. Then, in at least one record in the database, fill in one of these fields, and save the database. OBSERVED RESULT The next time Tellico is launched, it no longer loads either the emoticons or the accented characters (I am French). The next time Tellico starts up, neither the emoticons nor the accented characters appear (I'm French). However, editing the same file (before saving it in Tellico) in Kate shows that they are still there. But if you save this database with Tellico, it physically removes all the emoticons and accented characters from the database. ADDITIONAL INFORMATION Workaround: The solution to repair the database was to remove the tags “️-rss-on-vivaldi” and “-reading-frequency” from the entries. Next, to create fields with emoticons on Tellico: First create the field without the emoticon, then assign it to at least one entry in the database. Save the database with Tellico. Then edit that field and add the emoticon.
Git commit 344dd78b66b3262a8f320a402c0b935d0c9af0a5 by Robby Stephenson. Committed on 29/06/2026 at 01:22. Pushed by rstephenson into branch '4.2'. Validate XML element names with QXml Newer versions of libxml2 are more lenient with valid xml names than QXmlStreamReader allows, such as with multi-byte emoji. Use both methods to check. Use correct approach to strip control codes with multi-byte input. Related: bug 418067 FIXED-IN: 4.2.1 M +1 -0 ChangeLog A +30 -0 src/tests/data/bug521148.xml M +18 -10 src/tests/tellicoreadtest.cpp M +20 -23 src/translators/tellico_xml.cpp M +0 -1 src/translators/tellico_xml.h M +3 -1 src/translators/tellicoimporter.cpp https://invent.kde.org/office/tellico/-/commit/344dd78b66b3262a8f320a402c0b935d0c9af0a5
Thank you very much for your work.
Git commit 6ad82b37f1c05de913a3b69f4b6f7b592126f93c by Robby Stephenson. Committed on 03/07/2026 at 13:42. Pushed by rstephenson into branch 'master'. Validate XML element names with QXml Newer versions of libxml2 are more lenient with valid xml names than QXmlStreamReader allows, such as with multi-byte emoji. Use both methods to check. Use correct approach to strip control codes with multi-byte input. Related: bug 418067 FIXED-IN: 4.2.1 M +1 -0 ChangeLog A +30 -0 src/tests/data/bug521148.xml M +18 -10 src/tests/tellicoreadtest.cpp M +20 -23 src/translators/tellico_xml.cpp M +0 -1 src/translators/tellico_xml.h M +3 -1 src/translators/tellicoimporter.cpp https://invent.kde.org/office/tellico/-/commit/6ad82b37f1c05de913a3b69f4b6f7b592126f93c