Clion中文乱码解决方法
时间: 2025-06-01 17:36:04 浏览: 43
### CLion 中文乱码解决方案
CLion中的中文乱码问题通常是由于编码不一致引起的。以下是详细的解决方法:
#### 方法一:调整文件和控制台编码设置
可以通过以下步骤来调整CLion的编码设置,从而解决中文乱码问题。
1. **进入文件编码设置**
点击 `File` -> `Settings` -> `Editor` -> `File Encodings`[^1]。
2. **修改全局编码和项目编码**
将 `Global Encoding` 和 `Project Encoding` 设置为 `UTF-8` 或者 `GBK`,具体取决于项目的实际需求。如果希望兼容更多字符集,则推荐使用 `UTF-8` 编码[^1]。
3. **更改控制台编码**
在CLion底部的状态栏找到当前编码格式,默认可能是 `UTF-8`。将其更改为 `GBK` 并选择 “Convert” 进行转换[^1]。
完成上述配置后重新运行代码即可正常显示中文内容。
#### 方法二:通过注册表禁用 PTY 功能
另一种有效的方法是通过CLion内置的注册表功能关闭 `run.processes.with.pty` 选项,这能够改善某些情况下控制台输出中文时出现的乱码现象。
1. **打开注册表界面**
使用快捷键两次按下 `Shift` 键,在弹出的搜索框中输入 `Registry`,随后点击 `Registry...` 菜单项[^2]。
2. **取消勾选特定选项**
在注册表窗口内定位到名为 `run.processes.with.pty` 的条目,并移除其前面的选择标记(即取消勾选)。此操作会使CLion不再依赖伪终端处理进程通信,有助于避免因编码差异引发的问题[^2]。
经过以上两种方式之一的操作之后再次执行测试程序应该不会再遇到类似的乱码困扰了。
```cpp
#include <fmt/format.h>
#include <string_view>
int main() {
constexpr std::string_view msg = "你好";
fmt::print("{}\n", msg.length());
fmt::print(msg);
return 0;
}
```
上面给出了一段简单的C++代码用于验证最终效果是否符合预期——打印字符串长度以及原样输出消息本身。按照标准UTF-8编码规则,“你好”的总字节数应报告为6而非其他数值。
问题
阅读全文
相关推荐

















