作者开发环境
Windows 10
Clion 18.3
MinGW-W64
很多人都遇到了Clion的中文乱码问题,然后在CSDN上面寻找解决办法
比如这篇很有代表性https://blog.csdn.net/Cbk_XLL/article/details/78752534
这些方法都有弊端,就是还要把编辑页面的编码格式从UTF-8换成GBK编码
并且实际上严格来说这个方法是错误的,它是错错得正
文本是GBK然后编译器把它当成UTF-8然后又当成UTF-8输出在GBK的控制台
为啥要这么换呢?因为点击绿箭头运行过后输出结果是显示在RUN里面的
而这个RUN是根据系统默认编码(GBK)来显示中文的,所以要想正式显示中文
编辑的文本必须是GBK格式,可是按照上面的方式修改编码格式过后
每次打开CLion要想正确使用中文都要切换文本编码为GBK
于是我想到直接把系统编码改成万国码UTF-8
这样就不用这里GBK这里UTF-8的烦恼了
也就是说不用把当前文本编码改成GBK了
具体怎么换呢?请参考一下这篇文章
https://jingyan.baidu.com/article/25648fc1471e6a9191fd002e.html
这样在自己的电脑里面天下都是UTF-8了就不会有很多的烦恼了
但是我们难免要用到别人的东西
如果别人的东西是GBK编码导致我们这里乱码我们可以重新以GBK打开
但是上面的方法还有一个缺点,有的应用的中文文本就是以GBK编码的
所以更换系统编码格式还是有弊端的
那么有没有几乎没有弊端的方法呢?
有。在代码中加上头文件windows.h并且在程序开始时调用系统函数
system(“chcp 65001 > nul”);
这样就完美解决问题了
如果是在控制台乱码建议读者了解一下CHCP
还可以使用Win32控制台编程接口里面设置输入输出的编码格式
参考链接:https://docs.microsoft.com/en-us/windows/console/
另外我来说明一下为什么会乱码
g++在编译时默认输入编码和输出编码都是UTF-8
然后Windows操作系统默认字符集是GBK
IDE会自动指定实际CPP文件的文本编码但不会指定输出的文本编码
所以我们只需要在编译时为g++添加参数-fexec-charset=GBK即可
但是这个g++并不是我们手动调用的
在Clion里面我们需要在Cmakelist.txt文件里面添加一句话

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -fexec-charset=GBK")

这样子问题就可以得到完美解决
另外如果读者始终解决不了乱码问题的话可以在下面留言找我解决
毕竟我跟乱码问题斗争了很久具有较丰富的经验

参考链接:https://blog.csdn.net/qq_28234213/article/details/73277748

Windows下CLion中文乱码最有效的解决方式相关推荐

  1. windows下gvim中文乱码解决方案

    网罗了一些网上的解决windows下gvim中文乱码的解决方案,都试了一遍,可惜都不能完全解决我的所有问题,最后我综合一下网上的两种方案,得到了最后完全解决我的中文乱码问题的方案,配置很简单,就是把下 ...

  2. windows下mysql中文乱码_windows下mysql中文乱码, 配置解决方法

    今天遇到个很头疼的问题,在向MySQL数据库插入中文的时候,总是报下面的错误: Java.sql.SQLException: Incorrect string value: '\xE5\xB8\x8C ...

  3. linux下mysql乱码_linux下mysql中文乱码

    登录mysql执行 mysql> show variables like 'character%'; 发现编码有些不是utf-8 修改/etc/mysql/my.cnf,网上说的是/etc/my ...

  4. Xcode下的中文乱码问题

    Xcode下的中文乱码问题 转载自:http://linyehui.me/2014/07/09/convert-gbk-to-utf8-on-mac.html =========== 问题原因 绝大部 ...

  5. utf—8在苹果手机上乱码_Xcode下的中文乱码问题

    =========== 问题原因 绝大部分的中文乱码是因为文件编码不对导致的: 使用了GBK的文件编码方式在Xcode下是无法识别的 老版本的Xcode对带BOOM头的UTF8文件编码也是无法识别的( ...

  6. 【转】unity 的 MonoDevelop 在Windows下显示中文不出现乱码

    怎么才能让MonoDevelop 在Windows下显示中文- Unity原生技术 我是在 PC 机上, 用以下方法解决了. 以下来自链接中的内容: 包括mac 在内显示中文乱码主要有两种原因, 一种 ...

  7. ldifde 神奇功效,对付英文系统下显示中文乱码哦

    第一次发,windows方面也算是新人.把自己学的东西和做过的一些东西整理一下.先来看看ldifde这个东西.08R2神器,方便快速导入导出修改大批量的用户帐号各种属性. ============== ...

  8. delphi7的程序在英文系统下显示中文乱码

    关于delphi的程序在英文操作系统下乱码问题 由于delphi7编译的程序是非unicode程序(代码页),所有在英文操作系统下会有乱码的问题. 解决方法: 1. 首先在Lageuage中选&quo ...

  9. Windows 10 powershell 中文乱码解决方案

    Windows 10 powershell 中文乱码解决方案 参考文章: (1)Windows 10 powershell 中文乱码解决方案 (2)https://www.cnblogs.com/we ...

最新文章

  1. %02 java_02-java
  2. lamp架构之升级php版本
  3. 忘记mysql数据库密码时进行修改方法
  4. 腾讯极客挑战赛正式开赛!「鹅罗斯方块」开“玩”啦
  5. Java技术:serialVersionUID作用介绍
  6. AngularJS中service,factory,provider的区别(转载:http://my.oschina.net/tanweijie/blog/295067)...
  7. (6)售货机verilog与Systemverilog编码
  8. JavaScript(九):JavaScript中的内置对象
  9. 谷歌:光靠软件修复不能完全防御“幽灵”漏洞
  10. STM32-关于Proteus 仿真无法运行STM32CubeMX自动生成的代码
  11. gif 动态加载_用 python 实现切割视频,加入水印,压缩并转成 gif !
  12. 【Golang】Go语言defer用法大总结(含return返回机制)
  13. 代码智能:问题与解法
  14. mysql批量插入大量数据
  15. 飞翔pdf生成html,pdf转换成html转换器
  16. 疫情期间都用上哪些热点技术?AI、5G、RTC,大数据纷纷登场
  17. cf c语言源码,CF方块透视源码|CF易语言源码
  18. 米家有品这么多好东西哪些值得我们关注
  19. 解决: ORA-02199: missing DATAFILE/TEMPFILE clause [Oracle OMF 功能详解]
  20. 文本文档写html图片显示不出来,word文档几种不显示图片的解决方法

热门文章

  1. 找工作过程中的感受与收获
  2. js 封装ajax方法吗,原生JS封装ajax方法
  3. php对接百家云回放,百家云直播
  4. 销售易的“野心”与“危机”
  5. 2021秋招-算法-BFS-DFS
  6. 【无标题】我哈哈哈哈家
  7. 根据头像生成卡通头像要用什么技术
  8. 计算机与化学关系论文,计算机化学类论文参考文献 计算机化学专著类参考文献哪里找...
  9. ZCMU--5158: 骷髅军团
  10. GIAC专访丨DolphinDB研发总监周信静:实时计算,连接时序数据库和核心业务