From 79e8f885365d47eb968cca5873a36c6d46532e1f Mon Sep 17 00:00:00 2001 From: Yuchen Deng <loaden@gmail.com> Date: Mon, 29 Oct 2012 11:29:13 +0800 Subject: [PATCH] Git: Fix log encoding We should using "i18n.logOutputEncoding" as we can. In default, it should be 'utf-8'. Change-Id: Ic5af2869e5fd5273a712f28e8e59149a4c2ef2b7 Reviewed-by: Tobias Hunger <tobias.hunger@digia.com> --- src/plugins/git/gitclient.cpp | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/plugins/git/gitclient.cpp b/src/plugins/git/gitclient.cpp index b5546cb993f..8f2cb5706e7 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), -- GitLab