Windows下CLion中文乱码最有效的解决方式

您所在的位置:网站首页 如何改变编码格式的方法 Windows下CLion中文乱码最有效的解决方式

Windows下CLion中文乱码最有效的解决方式

2024-07-06 23:44| 来源: 网络整理| 查看: 265

作者开发环境 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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3