在 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 编码下输出中文,可以通过以下方式设置控制台编码:

  1. 打开 Help -> Edit Custom VM Options
  2. 在弹出的文件中,添加以下内容:
    -Dfile.encoding=GBK
  3. 保存后重启 CLion。

4. 验证输出

重新编译并运行程序,检查控制台是否正确显示输出。如果仍有问题,可以尝试以下方案:

  • 将程序的输出重定向到文件,再用支持 GBK 的文本编辑器打开文件查看输出。
  • 在代码中主动设置输出流编码,例如:
    #include <iostream>
    #include <codecvt>
    #include <locale> int main() {
    std::locale::global(std::locale("zh_CN.GBK"));
    std::wcout.imbue(std::locale("zh_CN.GBK")); std::wcout << L"你好,世界!" << std::endl;
    return 0;
    }

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

  1. C#打开或者创建一个文件,然后向其末尾写入数据的方法

    原文:C#打开或者创建一个文件,然后向其末尾写入数据的方法             FileStream fs = new FileStream(@"d:\timetick.txt" ...

  2. 解决Sublime Text 3在GBK编码下的中文乱码问题听语音

    Sublime Text 3是我最喜欢的代码编辑器,没有之一,因为她的性感高亮代码配色,更因为它的小巧,但是它默认不支持GBK的编码格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码 工具/ ...

  3. 理解并解决GBK转UTF-8奇数中文乱码(转)

    最近在做一个反馈功能,把数据反馈到对方公司网站,我公司是GBK编码,对方公司是UTF-8编码.因此,我需要将GBK编码数据转换成UTF-8编码数据,这样对方网站才不会乱码.最简单的方法是将HttpCl ...

  4. ueditor 1.4.3 gbk asp 上传中文乱码 终极解决方法 ie6 ie8 也适用

    [摘要:百度编纂器1.43 gbk asp 题目 1.firefox3.0下 单图上传 面没有了 面多图上传 中央的蓝色按钮(即 面击挑选图片)没有表现(附件上传出那个题目) 没有晓得我的水狐吃翔了 ...

  5. phpmyadmin设置编码和字符集gbk或utf8_导入中文乱码解决方法

    一.phpmyadmin设置新建数据库的默认编码为utf8编码的方法 1:新建数据库  my_db 2:使用sql语句  set character_set_server=utf8;  //设置默认新 ...

  6. Sublime Text 3打开gbk编码的文件中文乱码的问题

    正在开发Wordpress主题,网上下载了一个博客模板,打开之后,发现里面的中文全是乱码 毕竟这玩意是外国人的东西,gbk是中文专用的编码,不支持很正常. 网上查了一下资料,需要安装一个Convert ...

  7. PL/SQL Developer编码格式设置及中文乱码解决方案

    1.PL/SQL Developer中文字段显示乱码 原因:因为数据库的编号格式和pl /sql developer的编码格式不统一造成的. 2.PL/SQL Developer编码格式设置详细的解决 ...

  8. Visual 2015创建新项,缺少ADO.NET 实体数据模型的解决方法

    现在的某度查资料真的很麻烦,突然我自身的VS2015创建EF的时候找不到 ADO.NET 实体数据模型,但是使用CodeFrist是可以生成数据表的.所有特别郁闷. 打开界面如下 某度半天,都没有查出 ...

  9. virtualBox 打开旧的ubuntu虚拟机镜像时找不到网卡的解决方法

    一 环境: ubuntu v8.04 virtualbox _v4.3 二 操作 1 按正常创建新的虚拟机, 然后在选择虚拟硬盘界面选择使用旧的ubuntu虚拟机 2 打开虚拟机 删除/etc/ude ...

  10. ubuntu 启动项创建器 选择不了CD镜像,IOS镜像的解决方法

    自己系统是ubuntu14.04 , 想使用 ubuntu自带的启动项创建器(usb-creator-gtk)做一个CDLinux的U盘启动项, 打开程序后发现U盘识别了, 在添加镜像的时候,发现怎么 ...

随机推荐

  1. 本地AI搭建

    搭建本地博客AI 目录 搭建本地博客AI 环境 下载ollama 选择模型 选择embedding模型 查看性能测试 选择合适的嵌入模型(Embedder) 估算内存 选择模型 量化类型介绍 Q5_0 ...

  2. [BZOJ3811] 玛里苟斯 题解

    不得不说这题的确挺苟的. 注:下述"引理"表示: 对于长度为 \(n\) 的数组 \(V\),其线性基为 \(B\),定义 \(c_v=\bigoplus\limits_{a\in ...

  3. 科研界DeepSeek+AI应用协作攻略来了!

    自从DeepSeek爆火 AI应用届开启"精英集结" 与DeepSeek携手撑起国产AI一片天 比如,DeepSeek+Midjourney 成为设计师的好帮手 DeepSeek+ ...

  4. Shell - [01] 概述

    一.shell是什么 Shell 是一个命令解释器,接收应用程序/用户命令去调用操作系统内核. Shell 是一个功能强大的编程语言,易编写.易调试.灵活性强. 二.shell的解析器有哪些 [roo ...

  5. Linux - 内核版本升级

    测试时间:2024年5月15日,本文测试CentOS7.9的内核版本升级 测试结论:不要选择手动编译的方式!!! 一.使用第三方仓库(ELRepo) (1)升级前内核查看(3.10.0-1160.el ...

  6. 解决win11输入法自定义短语有多个当前日期只有最后一个生效

    由于win11自定义短语保存机制问题导致只有最后一个当前日期短语生效** 1.首先找到自定义短语存储文件的具体路径:%AppData%\Microsoft\InputMethod\Chs\ 拼音输入法 ...

  7. 【由技及道】CI/CD的量子纠缠术:Jenkins与Gitea的自动化交响曲【人工智障AI2077的开发日志】

    摘要:当代码提交触发量子涟漪,当构建流水线穿越时空维度--欢迎来到自动化构建的十一维世界.本文记录一个未来AI如何用Jenkins和Gitea搭建量子纠缠式CI/CD管道,让每次代码提交都成为时空交响 ...

  8. 对称&反对称&完全固定边界条件

    ABAQUS Boundary Condition XSYMM 对称边界条件,对称面为与坐标轴1垂直的平面,即U1=UR2=UR3=0; YSYMM 对称边界条件,对称面为与坐标轴2垂直的平面,即U2 ...

  9. Windows和Ubuntu间TCP连接测试

    起因是想在Ubuntu上用Synergy,但是发现爱你怎么都连不上.鼓捣了半天发现似乎Ubuntu监听,Windows测试TCP连接总是不成功,反之却能成功,大概问题就在这,尚未解决先记录一下. 基本 ...

  10. 启动本地node服务器报错: Access denied for user ‘root‘@‘localhost‘ (using password: YES)

    背景:今天启动node服务时直接报错,顿时一激灵,之前(几个月前哈哈)明明好好的.主要问题就是在连接数据库上,我登上mysql瞅瞅有没有问题,当要输入密码时,emmm, 很好, 忘记root密码了,于 ...