[systemsettings] [Bug 403557] UTF-8 characters are not saved correctly using the implicit path configuration module

Jos van den Oever bugzilla_noreply at kde.org
Sun Feb 17 17:51:10 GMT 2019


https://bugs.kde.org/show_bug.cgi?id=403557

--- Comment #8 from Jos van den Oever <jos at vandenoever.info> ---
I've just written a test to recreate the issue.

void KConfigTest::testQStringUtf8()
{
    QTemporaryFile file;
    QVERIFY(file.open());
    KConfig config(file.fileName(), KConfig::SimpleConfig);
    KConfigGroup general(&config, "General");
    const QString value("Téléchargements");
    general.writeEntry("Utf8", value);
    config.sync();
    file.flush();
    file.close();
    QFile readFile(file.fileName());
    QVERIFY(readFile.open(QFile::ReadOnly));
    // check that reading works
    KConfig config2(file.fileName(), KConfig::SimpleConfig);
    KConfigGroup general2(&config2, "General");
    QCOMPARE(value, general2.readEntry("Utf8", QByteArray()));
}

This passes. The é is escaped in the file. This is not needed. Any value above
126 is non-printable or valid UTF8 or another binary value.
Not escaping valid UTF8 sequences is an improvement. But that is not the issue
here.

"Téléchargements" is escaped on saving. That is fine. But it should be
unescaped when loading. This happens in the test, but not in
plasma-desktop/kcms/desktoppaths/globalpaths.cpp.

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the Unassigned-bugs mailing list