优雅的解决Clion控制台中文乱码(MinGw环境)

这篇博客介绍了如何解决Clion在MinGW环境下控制台中文显示乱码的问题。首先,通过File->Settings->Editor->FileEncodings设置全局、项目及项目文件的编码为UTF-8。其次,通过快捷键调出Maintenance界面,进入Registry关闭run.processes.with.pty选项。完成这两步后,Clion的控制台乱码问题即可得到解决。

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

第一步,修改默认编码

由File----->进入Settings设置----->Editor----->FileEncodings
将按照下图进行配置
Global Encoding; 设置成UTF-8
Project Encoding;设置成UTF-8
Default encoding for projecties files;设置成UTF-8
然后点击Apply和OK。
配置文件编码

第二步,取消run.processes.with.pty功能

  1. 按下Ctrl+Shift+Alt+/ 调出Maintenance界面;
    点击Registry…进行配置
    Maintenance界面
  2. 取消勾选 run.processes.with.pty
    取消勾选run.process.with.pty
  3. 点击Close
    Close
    至此,Clion控制台乱码问题就解决了。
### CLion 读取件时出现中乱码解决方案 当在 CLion 中读取含有中字符的件时,如果遇到乱码问题,通常是因为件编码与 IDE 或操作系统之间的不匹配所致。为了确保能够正确处理中字符,建议按照以下方法调整配置。 #### 方法一:修改项目中的源件编码设置 可以在项目的 CMakeLists.txt 件中指定源件的编码方式为 UTF-8: ```cmake set(CMAKE_CXX_SOURCE_FILE_EXTENSIONS cxx;cpp;c;h;hpp) foreach(_ext ${CMAKE_CXX_SOURCE_FILE_EXTENSIONS}) set_source_files_properties(*.${_ext} PROPERTIES CHARACTER_SET UTF-8) endforeach() ``` 这种方法适用于新创建的项目;对于已有的项目,则可能需要手动转换现有件到 UTF-8 编码[^1]。 #### 方法二:更改 CLion 控制台编码 针对 Windows 平台上运行的应用程序,默认情况下 MinGW 和 MSYS2 使用不同的代码页来表示字符集。可以通过命令提示符启动应用程序之前执行 `chcp 65001` 来切换当前会话至 UTF-8 模式[^3]。 另外,在 WSL 下工作时,由于其内部已经采用 UTF-8 编码标准,因此一般不需要额外操作即可正常显示汉字[^5]。 #### 方法三:编程层面处理字符串编码 假设正在编写跨平台应用,考虑兼容多种环境下的字呈现效果,可在程序初始化阶段加入特定语句以设定全局使用的本编码格式。例如,在 Qt 应用里可通过如下代码片段实现这一目标: ```cpp #include <QTextCodec> // ... int main(int argc, char *argv[]) { QApplication app(argc, argv); QTextCodec *codec = QTextCodec::codecForName("utf-8"); QTextCodec::setCodecForLocale(codec); // Your application code here... } ``` 上述措施有助于改善不同环境下可能出现的字渲染差异情况[^4]。 通过以上三种途径之一或组合运用,应该能有效缓解乃至彻底消除因编码冲突引发的各种异常现象。当然,具体实施过程中还需结合实际情况灵活应对。
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值