在 Debian 的终端中,中文显示为菱形(通常是方框或�),说明终端的字符编码或字体设置不支持中文字符。这通常与区域设置(locale)、终端字体或字符编码有关。以下是解决方法的步骤:
1. 检查区域设置(Locale)
- 运行以下命令查看当前区域设置:
locale - 检查输出中的
LANG、LC_ALL或LC_CTYPE是否设置为支持中文的编码(如zh_CN.UTF-8)。 - 如果没有正确设置,生成并配置中文区域设置:
sudo dpkg-reconfigure locales- 在弹出的界面中,选择
zh_CN.UTF-8 UTF-8(按空格选中,按 Enter 确认)。 - 设置默认区域为
zh_CN.UTF-8。
image.png
- 在弹出的界面中,选择

image.png
- 或者手动编辑
/etc/locale.gen,取消zh_CN.UTF-8 UTF-8的注释:
然后运行:sudo nano /etc/locale.gensudo locale-gen - 更新环境变量:
sudo update-locale LANG=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8
2. 设置终端编码
- 确保终端使用 UTF-8 编码。检查终端的配置文件(例如
~/.bashrc或~/.profile),添加或确认以下行:export LANG=zh_CN.UTF-8 export LC_ALL=zh_CN.UTF-8 - 应用更改:
source ~/.bashrc
3. 检查终端字体
- 终端可能使用的字体不支持中文字符。确保安装支持中文的字体,例如
fonts-noto-cjk:sudo apt install fonts-noto-cjk - 如果你在 GNOME 终端中,检查终端设置:
- 打开终端的“偏好设置”或“首选项”。
- 在“字体”选项中选择支持中文的字体,如
Noto Sans CJK SC或WenQuanYi Micro Hei。
- 如果使用其他终端(如
xterm或urxvt),编辑其配置文件(如~/.Xresources):echo "XTerm*font: -*-noto sans cjk sc-*-*-*-12-*-*-*-*-*-*" >> ~/.Xresources xrdb -merge ~/.Xresources
4. 检查终端类型
- 确保使用的终端支持 UTF-8。运行以下命令检查:
输出应为类似echo $TERMxterm-256color或linux。 - 如果
$TERM设置不正确,可以临时修改:export TERM=xterm-256color
5. 测试中文显示
- 测试中文是否正常显示:
echo "测试中文" - 如果仍显示菱形,检查终端是否正确加载了字体或编码。
6. 重启终端或系统
- 关闭并重新打开终端,或重启系统以应用更改:
sudo reboot
7. 特定终端问题
- GNOME 终端:确保 GNOME 终端的配置文件正确设置了 UTF-8 和中文字体。
-
TTY 终端(纯文本终端):TTY 可能需要额外的中文支持,安装
fbterm:
然后测试中文显示。sudo apt install fbterm fbterm - SSH 终端:如果通过 SSH 访问,确保客户端(如 PuTTY 或 VS Code 终端)也设置为 UTF-8。
8. 调试
- 如果问题仍未解决,检查以下内容:
- 运行
locale -a确认zh_CN.UTF-8已生成。 - 检查是否有其他编码冲突(例如
LC_ALL=C会强制使用 ASCII)。 - 确认终端是否支持 Unicode(运行
cat /etc/issue查看系统信息是否正常显示中文)。
- 运行
示例输出(正常情况):
运行 locale 后,输出应类似:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
...
LC_ALL=zh_CN.UTF-8
注意:
- 如果你使用的是最小化安装的 Debian 系统,可能缺少中文字体或区域设置支持,需手动安装。
- 如果问题仅出现在特定应用(如
vim或tmux),检查其配置文件是否正确设置了编码(例如set encoding=utf-8)。
如果以上步骤仍无法解决问题,请提供以下信息:
-
locale命令的输出。 - 你使用的终端类型(GNOME 终端、xterm、TTY 等)。
- 是否通过 SSH 访问。
我可以进一步优化解决方案!
补充
我设置完用 tabby Terminal 工具访问中文正常显示,但是在显示器里面还是一样,

eb5fc812d7aa7503cd540cde2f55ebce.jpg
- 手动编辑 locale 配置文件:
sudo vim /etc/default/locale

image.png
- 加入这个
LC_ALL=zh_CN.UTF-8

image.png
