腥狩频 发表于 2025-6-4 19:55:08

CLion打开VS创建的GBK编码格式的项目中文乱码问题的解决方法

在 CLion 中设置 GBK 编码用于编译代码时,如果输出的 message 乱码,通常是由于控制台编码与代码文件的编码不匹配导致的。以下是解决问题的步骤:
1. 设置文件编码为 GBK


[*]确保你的源代码文件是用 GBK 编码保存的。
[*]在 CLion 中,打开文件并检查编码:

[*]右下角状态栏会显示当前文件的编码格式,确保显示的是 GBK。
[*]如果不是,右键点击编码区域,选择 Reload in Encoding,然后选择 GBK。

2. 配置 CMakeLists.txt

在你的 CMakeLists.txt 文件中,添加以下设置以确保编译器能够正确处理 GBK 编码的源文件:
add_compile_options(-finput-charset=gbk -fexec-charset=gbk)

[*]-finput-charset=gbk:指明源文件的字符编码是 GBK。
[*]-fexec-charset=gbk:指明程序运行时的输出字符编码是 GBK。
3. 设置 CLion 控制台编码

CLion 默认使用 UTF-8 编码显示控制台输出。如果你的程序在 GBK 编码下输出中文,可以通过以下方式设置控制台编码:

[*]打开 Help -> Edit Custom VM Options。
[*]在弹出的文件中,添加以下内容:-Dfile.encoding=GBK
[*]保存后重启 CLion。
4. 验证输出

重新编译并运行程序,检查控制台是否正确显示输出。如果仍有问题,可以尝试以下方案:
<ul>将程序的输出重定向到文件,再用支持 GBK 的文本编辑器打开文件查看输出。
在代码中主动设置输出流编码,例如:#include #include #include int main() {    std::locale::global(std::locale("zh_CN.GBK"));    std::wcout.imbue(std::locale("zh_CN.GBK"));    std::wcout

轩辕琳芳 发表于 2025-10-18 17:31:03

懂技术并乐意极积无私分享的人越来越少。珍惜

纪晴丽 发表于 2025-10-19 00:41:27

用心讨论,共获提升!

姘轻拎 发表于 2025-10-30 15:29:30

懂技术并乐意极积无私分享的人越来越少。珍惜

忿惺噱 发表于 2026-1-14 04:34:28

鼓励转贴优秀软件安全工具和文档!

琉艺戕 发表于 2026-1-16 17:41:20

喜欢鼓捣这些软件,现在用得少,谢谢分享!

骆贵 发表于 2026-1-16 20:05:53

前排留名,哈哈哈

倡遍竽 发表于 2026-1-18 17:07:23

感谢分享,学习下。

赐度虻 发表于 2026-1-18 21:20:10

鼓励转贴优秀软件安全工具和文档!

杆树 发表于 2026-1-19 02:52:37

谢谢分享,试用一下

辅箱肇 发表于 2026-1-21 03:39:08

yyds。多谢分享

卒挪 发表于 2026-1-21 13:20:25

感谢发布原创作品,程序园因你更精彩

乱蚣 发表于 2026-1-23 07:12:11

感谢发布原创作品,程序园因你更精彩

客臂渐 发表于 2026-1-24 06:08:12

鼓励转贴优秀软件安全工具和文档!

役魅肋 发表于 2026-1-26 20:22:42

东西不错很实用谢谢分享

娄静曼 发表于 2026-1-27 13:29:07

感谢分享,学习下。

哈梨尔 发表于 2026-1-28 05:05:43

懂技术并乐意极积无私分享的人越来越少。珍惜

遑盲 发表于 2026-1-29 02:58:37

东西不错很实用谢谢分享

左丘平莹 发表于 2026-1-30 06:23:54

感谢发布原创作品,程序园因你更精彩

骆贵 发表于 2026-2-1 04:06:38

谢谢楼主提供!
页: [1] 2
查看完整版本: CLion打开VS创建的GBK编码格式的项目中文乱码问题的解决方法