在QTCreator上编辑C语言结果无法正常输出中文,文本编码为UTF-8,如何解决?

上午好☀️☀️☀️️
本答案参考通义千问
在使用 Qt Creator 编写 C 语言程序时,如果遇到中文无法正常输出的问题,通常是由于 编码设置不正确 或 控制台输出配置不当 所导致的。以下是详细解决方案:
.c 文件。特别注意: 如果你在 Windows 下使用 MinGW 编译器,建议将文件保存为 UTF-8 without BOM。
如果你的程序中包含中文字符串,可以尝试在 main() 函数中设置控制台编码(适用于 Windows):
#include <stdio.h>
#include <windows.h>
int main() {
// 设置控制台为 UTF-8 编码(Windows)
SetConsoleOutputCP(CP_UTF8);
printf("你好,世界!\n");
return 0;
}
重要提示: 此方法仅适用于 Windows 平台。Linux/macOS 一般默认支持 UTF-8,无需额外设置。
如果你使用的是 Qt 的编译工具链(如 qmake),可以在 .pro 文件中添加以下内容以确保 UTF-8 支持:
QMAKE_CFLAGS += -finput-charset=UTF-8 -fexec-charset=UTF-8
这条语句告诉编译器输入和输出都使用 UTF-8 编码。
Windows:
Linux/macOS:
echo $LANG 查看当前语言环境。以下是解决 QT Creator 中 C 语言无法输出中文的步骤:
SetConsoleOutputCP(CP_UTF8) 设置控制台编码。.pro 文件中配置编译器参数。#include <stdio.h>
#include <windows.h>
int main() {
// 设置控制台输出为 UTF-8
SetConsoleOutputCP(CP_UTF8);
printf("你好,世界!\n");
return 0;
}
如有其他平台(如 macOS 或 Linux)的问题,也可以继续提问,我会提供针对性的解决方案。