解决Jetbrains Clion和PyCharm等编辑器run窗口和VS2019运行c++中文编码问题,不修改文件编码为gbk的一劳永逸的方法

本文详细介绍了在Clion和VS2019等IDE中解决中文乱码问题的方法,包括修改注册表设置、禁用伪终端和调整系统区域设置等步骤,避免因文件编码问题导致的项目混乱。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

摘要

    最近在使用Clion编辑器写C++,发现run窗口输出中文出现乱码,切换到vs2019中也同样如此。

    网络上很多解决办法,比如:

  • 修改clion或pycharm的file encoding为utf-8然后把文件字符编码转为GBK。

    这种方法最常见,但我可以负责任地说,这种方法会坑死你,因为,你xx改了文件的字符编码为GBK,项目组那么多文件你给改成了GBK,对于整个项目会带来灾难性的后果。gbk编写的文件在别的电脑上转为utf-8后,你会看到成片成片的小问号,然后你就被开除了。

    显然这种方法治标不治本,我们的目的是让电脑去适应文件,而不是让文件适配我们的电脑。
    而我这里讲的方法,只需要修改我们的电脑和ide,不会修改代码文件的utf-8字符编码。

思路

    乱码的问题其实出现在cmd终端和jetbrains家的伪控制台上。cmd的默认编码为GBK,jetbrains自带伪终端run窗口字符编码也是GBK,知道了这一点,那么思路就很明了。

  • 修改cmd终端字符编码
  • 禁用jetbrains伪终端

修改cmd终端字符编码

    对于这个,网络上也有很多操作,最著名且最没用的,就是在cmd输入命令:chcp 65001
    这种做法,俩字,呵呵!
    你只改变了当前终端,没改全局啊,cmd关了就回去了。

正确做法:

  • 打开注册表编辑器(运行–>regedit),定位到如图路径:
    在这里插入图片描述
    用到的就是Console下的蓝色框框那个,右侧有个CodePage的键,没有的话就新建一个这个名的DWORD(32位)值,双击修改,如下图:
    在这里插入图片描述
    先选择基数里的十进制,然后左侧值改为65001。确定,关闭注册表编辑器,重启或注销计算机。

  • 检查
    重启或者注销回来之后,打开cmd,输入chcp,返回65001,就对了
    在这里插入图片描述
    这个时候cmd的字符编码就改好了。

  • 检查vs2019
        这时候在vs里运行一段带有输出中文的程序,神奇的事情发生了!!!还是乱码,是不是很惊喜!很意外!!是不是觉得我在骗人哈哈哈!

        愚蠢的人类!!

解决:

<方式一>(不推荐)

    打开电脑控制面板,选择“时间和区域”下面的“更改日期、时间或数字格式”,打开的窗口选择管理,更改系统区域设置,打开的窗口选中“Beta版:xxxxxxxxxx”
在这里插入图片描述
确定,重启或注销电脑。
回来,打开vs2019,运行一段带有输出中文的c++代码,输出中文正常!
**

这种方式会导致电脑里所有用GBK字符编码开发的软件会全部中文乱码,极其不推荐!!!

**

<方式二>(推荐)

    同上面修改注册表的方法,还是在regedit内展开到下面这个地方。在这里插入图片描述
可以看到,左侧Console下面有很多,这里面装的是电脑里装的全部的控制台。

这里要解释一下,我们之前修改了cmd的默认代码页,vs输出还是出现了乱码,本质原因就是vs并没有调用系统cmd,而是调用vs自带的控制台程序,这个控制台与系统cmd半毛钱关系没有。

所以我们可以看到,左侧有带有visual studio的字样的,选择那个,操作和前面一样,修改或新建一个CodePage值,十进制修改为65001,注销或重启电脑即可。

Clion等jetbrains编辑器修改

    cmd解决了,回到Clion,运行代码,gg了,还是乱码。

    原因:jetbrains有自家的终端,也就是run输出窗口,这个窗口是GBK的,脱离于操作系统。你在Terminal窗口输入chcp看看字符编码会发现这个Terminal窗口是utf-8的,因为terminal窗口就是系统的cmd。
    此时有“大佬”冒出来要改文件字符编码了哈哈哈哈哈,别再坑人了这些大佬们!

很简单:
快捷键:ctrl+shift+alt+/

选择,registry
弹出一个窗口,其实我还没发现这个窗口如何不通过快捷键打开,应该是只能通过快捷键。这个窗口涉及到jetbrains软件非常底层的设置,非专业人士指导请谨慎修改。
找到run.processes.with.pty,右方把对勾勾去掉,确定,重启clion/pycharm。
在这里插入图片描述

对于idea,这种java编辑器的run窗口跟clion和pycharm不太一样,一般不会出现中文乱码问题,这篇文章也不赘述了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值