diff --git a/src/plugins/git/gitplugin.cpp b/src/plugins/git/gitplugin.cpp index 62296994816..5fec91b58d6 100644 --- a/src/plugins/git/gitplugin.cpp +++ b/src/plugins/git/gitplugin.cpp @@ -1581,9 +1581,10 @@ void GitPluginPrivate::instantBlame() const CommitInfo info = parseBlameOutput(output.split('\n'), filePath, m_author); m_blameMark.reset(new BlameMark(filePath, line, info)); }; + QTextCodec *codec = GitClient::instance()->encoding(workingDirectory, "i18n.commitEncoding"); GitClient::instance()->vcsExecWithHandler(workingDirectory, {"blame", "-p", "-L", lineString, "--", filePath.toString()}, - this, commandHandler, RunFlags::NoOutput); + this, commandHandler, RunFlags::NoOutput, codec); } void GitPluginPrivate::stopInstantBlame() diff --git a/src/plugins/vcsbase/vcsbaseclient.cpp b/src/plugins/vcsbase/vcsbaseclient.cpp index 3ec9763f0c4..d8dc91a888e 100644 --- a/src/plugins/vcsbase/vcsbaseclient.cpp +++ b/src/plugins/vcsbase/vcsbaseclient.cpp @@ -157,10 +157,11 @@ void VcsBaseClientImpl::vcsExecWithHandler(const FilePath &workingDirectory, const QStringList &arguments, const QObject *context, const CommandHandler &handler, - RunFlags additionalFlags) const + RunFlags additionalFlags, QTextCodec *codec) const { VcsCommand *command = createCommand(workingDirectory); command->addFlags(additionalFlags); + command->setCodec(codec); command->addJob({vcsBinary(), arguments}, vcsTimeoutS()); if (handler) { const QObject *actualContext = context ? context : this; diff --git a/src/plugins/vcsbase/vcsbaseclient.h b/src/plugins/vcsbase/vcsbaseclient.h index 87908f1f812..6703495c37f 100644 --- a/src/plugins/vcsbase/vcsbaseclient.h +++ b/src/plugins/vcsbase/vcsbaseclient.h @@ -83,7 +83,8 @@ public: const QStringList &arguments, const QObject *context, const CommandHandler &handler, - RunFlags additionalFlags = RunFlags::None) const; + RunFlags additionalFlags = RunFlags::None, + QTextCodec *codec = nullptr) const; void vcsExec(const Utils::FilePath &workingDirectory, const QStringList &arguments, RunFlags additionalFlags = RunFlags::None) const;