Debian 控制台中文乱码(locale 未生成)?
最小安装没生成中文 locale,终端显示中文全变问号/方框。本文按「确认当前 locale → 生成 → 设为默认」三步修复。
简短答案
最小安装的 Debian 13.7 DVD 默认只生成 C/English locale,终端输出中文全变 ?/方框。修复三步:locale-gen 生成 zh_CN.UTF-8 → locale-gen zh_CN.UTF-8 确认成功 → 设 LANG=zh_CN.UTF-8 或保留 en_US 主语言、仅终端切中文。
现象对照
| 现象 | 判断 |
|---|---|
| 终端全乱码 | 当前 locale 无中文支持 |
| 图形界面中文正常、终端乱 | 图形与终端用了不同 locale |
locale -a 里没有 zh_CN |
根本没生成 |
排查步骤
locale # 当前 locale
locale -a | grep zh_CN # 是否已生成
sudo locale-gen zh_CN.UTF-8
sudo dpkg-reconfigure locales # 或直接改 /etc/default/locale
改完 source /etc/default/locale 或重新登录生效。网络安装版(Debian 13.7 网络安装版)最小配置同样缺中文 locale,流程一致;locale 体系说明见 Debian 发行条目。
操作小结
- 先
locale看当前值,别盲改 locale-gen生成前locale -a确认缺哪个- 生成后设默认(系统级或用户级)
- 终端/图形分别设可并存,互不干扰