Qt Creator中的开发控制台编码错误

时间:2013-12-25 08:57:55

标签: qt character-encoding qt5

当我的项目出现任何错误时,它看起来像是:

enter image description here

如何解决这个问题?我的意思是编码,而不是错误。

4 个答案:

答案 0 :(得分:3)

如果将Visual Studio编译器与Qt Creator一起使用,编译器的消息将采用DOS(866)编码。需要设置正确的Windows CP1251编码。我从这里使用特殊版本的jom.exe。

版本x86:jom.exe x86

版本x64:jom.exe x64

在qt / bin中复制实用程序。然后工具 - >选项并找到选项“使用jom而不是nmake”。 Source

答案 1 :(得分:2)

可以通过仅编辑.pro文件来修改问题。继承控制台时会继承控制台代码页。因此,更改make命令的控制台代码页就足够了。这可以通过(某种程度上)先进的qmake来完成。

将其插入.pro文件中。它对我有用。

QMAKE_EXTRA_TARGETS += before_build makefilehook

makefilehook.target = $(MAKEFILE)
makefilehook.depends = .beforebuild

PRE_TARGETDEPS += .beforebuild


before_build.target = .beforebuild
before_build.depends = FORCE
before_build.commands = chcp 1251

如果您更喜欢俄语,请在我的博客上阅读this post

答案 2 :(得分:1)

  • 转到工具 -> 选项 -> 套件。
  • 选择使用的试剂盒。
  • 选中“强制 MSVC UTF-8 编译器输出”复选框。

答案 3 :(得分:-1)

更好的解决方案就在这里,因为不仅jom可以输出这样的消息,而且链接,nmake,copy等: http://codedchaos.blogspot.com/2012/09/qt-creator-windows.html

需要使用命令:

  

chcp scode_page

简单样本:

  

chcp 1251

可以使用永久更改代码页注册表HKCU\Software\Microsoft\Command Processor。要运行Qt Creator,您可以使用以下命令创建bat文件:

@echo off
reg add "HKCU\Software\Microsoft\Command Processor" /v AutoRun /t reg_expand_sz /d "chcp 1251 1>nul" /f
C:\Qt\qtcreator-3.6.0\bin\qtcreator.exe
reg delete "HKCU\Software\Microsoft\Command Processor" /v AutoRun /f