<p>PyCharm在Windows中文系统下需手动配置三处UTF-8编码、转换旧文件并添加模板声明才能避免UnicodeDecodeError:Global/Project/Properties编码均设UTF-8,勾选透明转换,旧文件右下角点击Convert to UTF-8并加# -- coding: utf-8 --声明,新建文件通过模板自动插入该声明,终端报错需改路径、执行chcp 65001或设PYTHONIOENCODING,且必须重启PyCharm生效。</p>

PyCharm 默认不强制使用 UTF-8,尤其在 Windows 中文系统下,项目路径含中文、文件里有中文字符串、或新建 Python 文件没带编码声明时,UnicodeDecodeError: 'gbk' codec can't decode byte 这类报错几乎必然出现。必须手动设三处编码 + 转换旧文件 + 加模板声明,缺一不可。
File Encodings 里三个编码都得设成 UTF-8
PyCharm 的编码优先级是:文件/目录编码 > 项目编码 > 全局编码。只改其中一项,其他地方仍可能 fallback 到 GBK。
-
Global Encoding:设为UTF-8,影响未归属项目的文件(比如从 Git 拉下来的临时脚本) -
Project Encoding:设为UTF-8,这是最核心的一处,决定整个项目默认读写行为 -
Default encoding for properties files:也设为UTF-8,否则.properties文件里的中文会乱码 - 务必勾选
Transparent native-to-ascii conversion,避免 Java 风格的\u4f60\u597d转义干扰 Python 开发
已存在的 Python 文件必须手动转换编码
设置完 File Encodings 不等于旧文件自动变 UTF-8。PyCharm 右下角显示 GBK 或 GB2312 就说明它还在用旧编码读这个文件,运行时照样报错。
PyCharm 2026.2是 JetBrains PyCharm 的指定版本安装包,下载地址指向官方 Windows 安装包直链,可用于旧项目兼容、版本回退和环境测试。
- 在 PyCharm 中打开报错的文件(比如
test03数据类型.py) - 看右下角状态栏——如果显示不是
UTF-8,直接点击它 → 选Convert to UTF-8 - 弹窗点
Convert(建议勾选“备份原文件”) - 转换后,在第一行插入声明:
# -- coding: utf-8 --(注意是两个短横线,不是长破折号)
新建 Python 文件要自动带 UTF-8 声明
不设模板的话,每次新建 .py 文件都得手敲编码声明,极易遗漏。PyCharm 提供了模板机制,但默认不启用。
- 进入
File → Settings → Editor → File and Code Templates - 左侧选
Python Script - 右侧模板框顶部添加一行:
# -- coding: utf-8 -- - 点
Apply → OK,之后所有新建的 Python 文件都会自带这行 - 注意:这行对 Python 3.7+ 非必需,但能兼容老解释器,且让 IDE 解析更稳
终端 pip install 报错 UnicodeDecodeError 怎么办
这不是文件编码问题,而是 PyCharm 终端继承了 Windows CMD 的 GBK 编码,而 pip 在处理含中文路径(如 C:\Users\张三\...)时尝试用 GBK 解码 UTF-8 字节流,直接崩。
- 最彻底解法:把项目和虚拟环境路径移到纯英文路径下,比如
D:\pyproj\ - 临时缓解:在 PyCharm Terminal 里先执行
chcp 65001(切换终端为 UTF-8) - 加环境变量:在 PyCharm 的
Run → Edit Configurations → Environment variables里加PYTHONIOENCODING=utf-8 - 升级 pip:
python -m pip install --upgrade pip(pip ≥ 21.0 已修复大部分路径编码硬编码问题)
真正容易被忽略的是:改完设置后不重启 PyCharm,很多编码配置不会生效;还有人只改了项目编码却忘了转换已有文件,结果运行时还是报错。这两步跳过,前面全白设。

















