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

打印 上一主题 下一主题

主题 821|帖子 821|积分 2463

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


  • 确保你的源代码文件是用 GBK 编码生存的。
  • 在 CLion 中,打开文件并查抄编码:

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

2. 配置 CMakeLists.txt

在你的 CMakeLists.txt 文件中,添加以下设置以确保编译器可以或许准确处置惩罚 GBK 编码的源文件:
  1. 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。
  • 在弹出的文件中,添加以下内容:
    1. -Dfile.encoding=GBK
    复制代码
  • 生存后重启 CLion。
4. 验证输出

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

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

写过一篇

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表