目录
1、原因:
在学C语言时,使用clion打印中文字符时出现控制台乱码问题,查遍多个网页后发现有四种解决方法,但是最后一种最保险最稳定,现在把四种解决办法都记录在下面。
1.1、方法一:将文件改为gbk
正常情况下,clion里的文件编码我们都会设置成utf-8,但是windows上默认是gbk编码,如果是utf-8的编码在clion里就会乱码,改为gbk就好了,但是这样会产生更多的问题,此法排除。
1.2、方法二:将windows改为utf-8
因为windows上默认是gbk编码,所以可以修改windows的默认编码为utf-8,在windows11上具体如下:
第一:打开控制面板,选择时钟与区域
第二:选择更改日期,时间或数字格式
第三:选择管理,更改系统区域设置,勾选使用utf-8,确定退出
这个方法会解决clion中文乱码问题,但会导致其它编译器出现乱码,此方法不通。
1.3、方法三:设置clion不使用它的pty
在clion界面,按快捷键ctrl+shift+alt+/ 选择第一个register,取消勾选run.processes.with.pty,这会解决乱码问题,但有可能会使scanf和printf函数的输出顺序乱序
1.4、方法四:使用cygwin64编译
这是一劳永逸的方法,clion默认使用mingw64编译,即使使用自己下载的mingw64-gcc也会有中文乱码的问题,使用cygwin64可完美解决这个问题
1.4.1首先下载安装cygwin64:
官方下载网站:https://www.cygwin.com/install.html
使用管理员打开下载的安装包,安装过程如下:
选择安装目录
选择从cygwin64下载的软件包存放的目录
选择阿里云镜像
分别在搜索框里搜索gcc-core,gcc-g++,gdb,make,binutils,它们都在Devel目录下,选择最新版本就行
然后下一步,等待安装完成就行,我这里是已经安装过了,安装包留着别删,下次再装别的软件包可以继续打开安装
安装完成后打开桌面上的cygwin64Terminal,分别输入下面命令
cygcheck -c cygwin
gcc -v
g++ -v
gdb -v
make -v
终端窗口输出正确版本就表示安装cygwin64并配置C++编译环境成功
1.4.2、在Clion里配置cygwin
在设置——构建执行部署——工具链,+号选择cygwin,clion会自动检测并配置,将cygwin上移到第一个,确定
cmake里默认使用的是默认工具链配置,只要把刚刚配置的cygwin移到第一个位置cmake就不用修改。配置完成后测试如下:
到这里中文乱码问题就彻底解决,文件编码还是使用utf-8,clion依然勾选run.processes.with.pty,windows编码依然默认不变