必须将global encoding和project encoding均设为utf-8,否则新建文件仍用系统默认编码(如gbk),导致中文注释、数据库字段值等乱码;还需勾选transparent native-to-ascii conversion,并正确转换已有文件编码。

必须把 Global Encoding 和 Project Encoding 都设为 UTF-8,否则新建文件、中文注释、数据库字段值大概率乱码——这不是“显示问题”,是编码层错配导致的底层解析失败。
Global Encoding 和 Project Encoding 必须同时设为 UTF-8
很多人只改了 Project Encoding,结果新创建的 .php 或 .html 文件还是用系统默认编码(如 GBK),因为 Global Encoding 才控制新建文件的初始编码。它和已有文件的实际编码无关,只影响“下一次新建”。
- 路径:
Settings / Preferences → Editor → File Encodings -
Global Encoding和Project Encoding两个下拉框都选UTF-8 - 务必勾选
Transparent native-to-ascii conversion(尤其对.properties文件生效) -
Default encoding for properties files必须保持ISO-8859-1,改了会导致 Spring Boot 或 Java 项目读取配置异常
已有文件不能只“Set encoding”,得用 Convert Files to UTF-8
右下角状态栏显示 UTF-8 ≠ 文件磁盘内容真是 UTF-8。如果原文件是 GBK 编码,仅点“Reload project from disk”或“Set encoding”只是让 PhpStorm 按 UTF-8 解释那堆字节,结果就是中文变方块或问号。
- 在项目根目录右键 →
Convert Files to UTF-8(不是Set encoding) - 弹窗中勾选
Convert encoding of file content - 源编码要选对,比如旧项目常见的是
GBK或GB2312 - 慎选
Recursively:跳过vendor/、node_modules/等第三方目录,只处理src/、app/、resources/
HTML/PHP 中的 charset 声明会覆盖编辑器设置
即使文件真实编码是 UTF-8,只要 HTML 里写了 <meta charset="gbk">锛屾垨鑰
php免费学习视频:立即使用
踏上前端学习之旅,开启通往精通之路!从前端基础到项目实战,循序渐进,一步一个脚印,迈向巅峰!










