PyCharm中文乱码怎么彻底解决

胖萱小哥_1935

胖萱小哥_1935

2026-08-25

1000人浏览

原创

pycharm中文乱码需分层处理:控制台乱码应配置终端编码与环境变量;编辑器文件乱码需按右下角编码重载并转存utf-8;ui路径乱码需更换支持中文的字体;matplotlib图表乱码需修改matplotlibrc及清理字体缓存。

pycharm中文乱码怎么彻底解决

PyCharm 中文乱码不是单一设置能“一键修复”的问题,它本质是多层编码不一致叠加的结果:文件保存用一种编码,控制台输出用另一种,JVM读取时又默认第三种,字体渲染再缺一环——漏掉任何一层,中文就可能变 æ–‡

真正起效的解法,得按实际现象分层处理,而不是统一设成 UTF-8GBK 就完事。

控制台 print() 输出中文是方块或问号

这是最常见也最容易误判的场景。根本原因是 Python ConsoleRun Configuration 启动的终端环境(Windows cmd/powershell 或 Linux bash)和 PyCharm 内部解释器之间编码错位。
  • Windows 下 cmd 默认代码页是 936(即 GBK),而 PyCharm 的 Python Console 默认用 UTF-8 解码输出,必然乱码
  • 直接改 Project EncodingGBK 只治标不治本,还会导致 Git 提交、协作时出问题

正确做法:

File → Settings → Tools → Python Console 中,勾选 Use IPython if available(IPython 对编码更鲁棒)

File → Settings → Tools → Terminal 中,把 Shell path 改为 cmd.exe /k chcp 65001 >nul(强制启动时切 UTF-8 模式)

对单个 Run 配置,在 Run → Edit Configurations → Environment variables 里加:PYTHONIOENCODING=utf-8

避免使用 -u 参数——它只影响 stdout/stderr 缓冲,不解决底层编码协商问题

编辑器里代码本身显示为乱码

这种情况通常发生在打开旧项目、从别人那里拷贝的 .py 文件,或者新建文件但未声明编码。
  • 不要盲目把 Global EncodingProject Encoding 都设成 GBK,尤其当团队用 Git 协作时,会引发 diff 异常、提交失败
  • 关键看单个文件右下角状态栏显示的当前编码(如 UTF-8GBKISO-8859-1),点它可重新以指定编码重载

实操建议:

新建 Python 文件时,第一行必须写:# -*- coding: utf-8 -*-(Python 3 可省略,但显式声明更稳妥)

已有乱码文件:右下角点击编码名 → Reload project encoding as... → 选疑似原始编码(比如旧 Windows 记事本存的选 GBK)→ 确认后立刻另存为 UTF-8

批量修复:用 File → File Encoding → Convert Encoding to UTF-8,但务必先备份——转换不可逆

PyCharm 2026.2
PyCharm 2026.2

PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。

下载

左侧 Project 树或菜单里中文路径/文件名显示为小方块

这跟文本内容编码完全无关,纯属字体渲染问题。PyCharm 默认字体(如 JetBrains Mono)不包含中文字符集。
  • 即使所有编码全设成 UTF-8,这里照样显示方块
  • 不需要改任何编码配置,只需换字体

操作路径:

File → Settings → Appearance → Fonts

取消勾选 Use custom font(如果已启用),或勾选后在 Font 下拉框里选一个带中文支持的字体,例如:Microsoft YaHeiNoto Sans CJK SCSimSun

注意:Linux/macOS 用户需确认系统已安装对应中文字体,否则下拉列表里不会出现

Matplotlib 图表中文标题/标签全是方块

这是独立于 PyCharm 编码设置的另一套体系,由 Matplotlib 自己的字体缓存和 rcParams 控制。
  • 改 PyCharm 的 File Encodings 对图表毫无影响
  • 即使代码里写了 plt.rcParams['font.sans-serif'] = ['SimHei'],若系统没装该字体或 Matplotlib 找不到,依然乱码

关键步骤:

先运行 import matplotlib; print(matplotlib.matplotlib_fname()) 查看配置文件路径

编辑该 matplotlibrc 文件,取消注释并修改:font.sans-serif: SimHei, DejaVu Sans, Bitstream Vera Sans, sans-serif

删掉用户级字体缓存目录(Windows:%USERPROFILE%\.matplotlib\fontlist-*.json;macOS/Linux:~/.matplotlib/fontlist-*.json),让 Matplotlib 重启扫描字体

代码中必须加:plt.rcParams['axes.unicode_minus'] = False,否则负号会显示为方块

真正麻烦的不是某一步怎么做,而是你得先判断:乱码出现在哪一层?是终端输出、编辑器文本、UI 界面,还是第三方库渲染?每层背后机制不同,混着调只会让问题更隐蔽。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1551

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

3644

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1569

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

20857

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2587

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

2647

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1063

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

576

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

2043

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程