关键不是改project encoding,而是用files encoded as规则匹配文件后缀:settings→editor→file encodings→files encoded as区域右下角+→添加*.go→gbk;该规则仅对无bom、无声明的文件生效,有bom则优先以bom为准。

怎么让 GoLand 按指定编码打开 *.go 文件
关键不是改 Project Encoding,而是用 Files encoded as 规则匹配文件后缀。GoLand 对无 BOM、无声明的文件才按这个规则生效;有 BOM 的文件永远以 BOM 为准,改设置也无效。
操作路径:Settings → Editor → File Encodings → 拉到最下方 Files encoded as 区域 → 点右下角 + → 输入模式(如 *.go)→ 选编码(如 GBK)。
- 模式支持通配符:
*.html、config/**.yaml都可以 - 多条规则会按从上到下顺序匹配,越具体的路径优先级越高
- 改完不用重启,新打开的匹配文件立刻生效
- 如果文件已有 BOM(比如开头是
EF BB BF),这条规则完全不触发
为什么右下角显示 UTF-8,但手动切到 GBK 就正常了
说明该文件实际是 GBK 编码保存的,而 GoLand 默认按 UTF-8 解析,字节错位导致乱码。右下角显示的是当前编辑器“正在使用的解码方式”,不是文件磁盘编码。
GoLand 2026.1.1 是 2026.1 发布后的首个维护修正版本,适合已经开始体验 2026.1 新功能并希望同步补丁的开发者。它更适合用于入门项目、现有项目迁移测试和 IDE 行为验证。
点击右下角编码名(如 UTF-8)→ 选 Reload project encoding as → GBK,这是临时修复;若想永久生效,必须补上上面说的 Files encoded as 规则。
-
Reload:只重读字节,不改文件内容,安全 -
Convert:真把文件存成新编码,会破坏原内容,慎点 - 新建文件不受此影响,默认走
Default encoding for new files(建议保持UTF-8)
改了设置却对某些文件无效的常见原因
GoLand 编码识别有严格优先级:BOM > 文件内声明(如 HTML 的 <meta charset="gbk">锛










