必须设置 $cfg['Lang'] = 'zh_CN';,确保 languages/zh_CN.mo 文件存在且编码为 UTF-8 无 BOM,并添加 $cfg['DefaultCharset'] = 'utf-8';,最后重启 Web 服务并清除浏览器缓存。
直接改 config.inc.php 并确保语言包存在,否则写再多配置也没用——phpmyadmin 会静默回退到英文。
必须设 $cfg['Lang'],不是 $cfg['DefaultLang'] 或 $cfg['ForceLanguage']
多数人卡在这一步:网上教程混用参数名,但实际生效的是 $cfg['Lang'](注意大小写,是大写 L)。$cfg['DefaultLang'] 在新版中已不被识别;$cfg['ForceLanguage'] 是强制锁定,但只在极少数版本中支持,且会导致语言切换器消失,不推荐作为默认方案。
-
$cfg['Lang'] = 'zh_CN';是最通用、最稳妥的写法,适用于 XAMPP、phpEnv、Docker 镜像及手动部署场景 - 值必须严格为
zh_CN(下划线,大写 CN),不能写成zh-cn、zh、zh_CN-UTF-8或zh_CN.utf8 - 这行必须加在
config.inc.php文件末尾的?>之前,且不能在注释块/* */内
确认 languages/zh_CN.mo 文件真实存在且编码正确
写了 $cfg['Lang'] = 'zh_CN'; 却仍是英文?90% 是因为 phpmyadmin/languages/zh_CN.mo 缺失或损坏。XAMPP 官方版自带该文件,但 apt、brew、某些 Docker 镜像或精简版 phpEnv 常把它删了。
- 进到 phpMyAdmin 根目录,运行
ls -l languages/zh_CN.mo(Linux/macOS)或检查该路径是否存在(Windows) - 若缺失:从官网下载对应版本的完整语言包,例如
phpmyadmin-locale-zh-utf-8-5.2.1-all-languages.zip,解压后只取languages/zh_CN.mo放入本地languages/目录 - 用 VS Code 或 Notepad++ 检查
zh_CN.mo文件编码是否为 UTF-8 无 BOM;BOM 会导致 PHP 解析失败,界面空白或报错
别漏掉 $cfg['DefaultCharset'] = 'utf-8'
有语言包、有 $cfg['Lang'],但中文显示为方块或问号?字符集没对齐。phpMyAdmin 渲染中文需要两层保障:语言资源加载成功 + 页面响应头声明 charset=utf-8。
- 在同一个
config.inc.php中添加:$cfg['DefaultCharset'] = 'utf-8';(注意是小写连字符,不是下划线,也不是utf8) - 重启 Web 服务(Apache/Nginx)后,用浏览器开发者工具 → Network → 刷新页面 → 点开
index.php请求 → 查看 Response Headers 中的Content-Type是否含charset=utf-8 - 如果仍为
iso-8859-1,说明配置未加载,检查是否写错位置、是否被其他配置覆盖,或文件权限导致 PHP 无法读取
最容易被忽略的是:改完配置不重启服务、不清浏览器缓存、不验证 zh_CN.mo 是否真在磁盘上。语言设置不是“写一行就生效”的开关,而是依赖文件系统 + PHP 加载 + HTTP 响应三者协同。缺一环,就退回英文。
立即学习“PHP免费学习笔记(深入)”;



















