diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index b5546cb993f4724ae2460a6d5d5ecf3ea47425a9..8f2cb5706e7a1ddd767430e8fc6c734dc8483c45 100644 --- a/src/plugins/git/gitclient.cpp +++ b/src/plugins/git/gitclient.cpp @@ -843,7 +843,14 @@ bool GitClient::synchronousLog(const QString &workingDirectory, const QStringLis allArguments.append(arguments); const bool rc = fullySynchronousGit(workingDirectory, allArguments, &outputText, &errorText); if (rc) { - *output = commandOutputFromLocal8Bit(outputText); + QString encodingName = readConfigValue(workingDirectory, QLatin1String("i18n.logOutputEncoding")); + if (encodingName.isEmpty()) + encodingName = QLatin1String("utf-8"); + QTextCodec *codec = QTextCodec::codecForName(encodingName.toLocal8Bit()); + if (codec) + *output = codec->toUnicode(outputText); + else + *output = commandOutputFromLocal8Bit(outputText); } else { const QString errorMessage = tr("Cannot obtain log of \"%1\": %2"). arg(QDir::toNativeSeparators(workingDirectory),