Ubuntu服务器版增加中文支持
在 Ubuntu 20.04 服务器版中增加中文支持,主要包括:安装中文语言包、配置系统区域(locale)、支持中文显示和输入。由于是服务器版,通常不安装图形界面,因此重点是让终端、日志、脚本等能正确显示和处理中文。
一、检查当前语言环境
locale
输出示例:
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE="en_US.UTF-8"
如果 LANG 不是 zh_CN.UTF-8 或不支持中文,就需要配置。
二、安装中文语言包
sudo apt update
sudo apt install -y language-pack-zh-hans
- language-pack-zh-hans:简体中文语言包
- 也可安装 language-pack-zh-hant(繁体)
三、生成并配置中文 locale
1. 生成中文
localesudo locale-gen zh_CN.UTF-8
2. 配置系统默认
localesudo dpkg-reconfigure locales
在弹出的界面中:
- 使用空格选中 zh_CN.UTF-8 UTF-8
- 回车确认
- 选择 zh_CN.UTF-8 作为默认系统 locale
或者手动编辑 /etc/default/locale:
内容改为:sudo nano /etc/default/locale
但通常我们只需要支持中文显示即可,系统语言仍设置为英文:LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh
LANG=zh_CN.UTF-8LANGUAGE=en_US:en
四、(可选)更改系统语言为中文
如果你希望系统提示、错误信息等也显示为中文,可以设置:
sudo update-locale LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_MESSAGES=POSIX
然后重新登录,系统信息将显示为中文。
五、终端中文显示问题
Ubuntu 服务器通常通过 SSH 连接,终端能否显示中文,取决于你的本地 SSH 客户端设置。
1. 本地 SSH 客户端设置(以常见工具为例)
客户端 | 设置方法 |
---|---|
Xshell / Xftp | 连接属性 → 终端 → 字符编码:UTF-8 |
PuTTY | 窗口 → 翻译 → 字符编码集:UTF-8 |
Windows Terminal / SSH | 确保字体支持中文(如 Consolas , Sarasa Gothic ) |
macOS Terminal | 默认支持 UTF-8,无需更改 |
2. 服务器端字体(服务器版通常不安装字体)
服务器版没有 GUI,不需要安装中文字体。
只有在运行图形程序(如 vim 显示乱码)时才可能需要。
六、测试中文显示
1. 输出中文测试echo “你好,世界!”
✅ 正常显示:你好,世界!
❌ 乱码:检查 SSH 客户端编码是否为 UTF-8
2. 查看日志或文件中的中文
# 创建一个含中文的文件
echo "这是一条中文日志" > test.log
cat test.log
七、(可选)安装中文字体(仅用于生成含中文的图片/文档)
如果你的服务器需要生成含中文的 PDF、图片等,需安装字体:
sudo apt install -y fonts-wqy-zenhei fonts-wqy-microhei
- fonts-wqy-zenhei:文泉驿正黑
- fonts-wqy-microhei:文泉驿微米黑
八、常见问题解决
❌ 问题1:中文显示为方框或问号
- 原因:SSH 客户端编码不是 UTF-8
- 解决:将客户端字符编码改为 UTF-8
❌ 问题2:locale: Cannot set LC_CTYPE to default locale
- 原因:用户环境未正确继承系统 locale
- 解决:在 ~/.bashrc 或 ~/.profile 中添加:
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:zh
❌ 问题3:某些程序仍显示英文
- 解决:设置 LANGUAGE 环境变量:
export LANGUAGE=zh_CN:zh
完整步骤
# 1. 安装中文包
sudo apt update
sudo apt install -y language-pack-zh-hans# 2. 生成 locale
sudo locale-gen zh_CN.UTF-8# 3. 配置默认 locale
sudo dpkg-reconfigure locales # 选择 zh_CN.UTF-8# 4. (可选)直接设置
echo 'LANG=zh_CN.UTF-8' | sudo tee -a /etc/default/locale# 5. 重新登录,测试
echo "你好,Ubuntu!"