Это может звучать как очевидный вопрос, но мне не хватает чего-то о том, как кодируется UTF-8 или как работает функция toUtf8.
Посмотрите на очень простую программу
QString str("Müller");
qDebug() << str << str.toUtf8().toHex();
Затем я получаю вывод
"Müller" "4dc383c2bc6c6c6572"
Но я понял, что письмо ü должно быть закодировано как c3bc, а не c383c2bc.
Спасибо Johan