diff --git a/src/qtattributionsscanner/main.cpp b/src/qtattributionsscanner/main.cpp
index 908b24ca46e280ff405f431ac20d2f55332dcc4d..5addb8da3f0503d0b141ae138c6f7e82df5f8747 100644
--- a/src/qtattributionsscanner/main.cpp
+++ b/src/qtattributionsscanner/main.cpp
@@ -124,10 +124,12 @@ int main(int argc, char *argv[])
 
     QString generator = parser.value(generatorOption);
     if (generator == QLatin1String("qdoc")) {
+        out.setCodec("UTF-8");
         // include top level module name in printed paths
         QString baseDirectory = QDir(directory).absoluteFilePath(QStringLiteral(".."));
         QDocGenerator::generate(out, packages, baseDirectory, logLevel);
     } else if (generator == QLatin1String("json")) {
+        out.setCodec("UTF-8");
         JsonGenerator::generate(out, packages, logLevel);
     } else {
         std::cerr << qPrintable(tr("Unknown output-format %1.").arg(generator)) << std::endl;