ubuntu安装中文需三步:装language-pack-zh-hans和base包、运行sudo locale-gen zh_cn.utf-8生成locale、用sudo dpkg-reconfigure locales设为默认,缺一导致英文界面或乱码。

Ubuntu 安装中文语言包不是“装完就变中文”,关键在三步:装对包、生成 zh_CN.UTF-8 locale、设为默认。漏掉任意一步,界面仍是英文,或终端显示方框乱码。
安装 language-pack-zh-hans 和 language-pack-zh-hans-base
这两个包必须一起装,缺一不可:language-pack-zh-hans 提供 GNOME 桌面翻译,language-pack-zh-hans-base 是命令行和基础系统中文支持的必需依赖。只装前者,locale-gen 可能失败或部分菜单仍英文。
- 运行:
sudo apt update && sudo apt install -y language-pack-zh-hans language-pack-zh-hans-base - 注意:Ubuntu 24.04+ 不再需要
language-pack-gnome-zh-hans(已并入前者),装了也无害,但没必要 - Debian 用户请改用
language-pack-zh,包名不同
必须手动运行 locale-gen zh_CN.UTF-8
装完语言包不会自动启用中文 locale。很多用户卡在这步——以为装完包就完了,结果 locale -a | grep zh_CN 没输出,说明 locale 根本没生成。
PostgreSQL 18.4 官方 Ubuntu 安装包现已发布,这是目前最新的稳定版本。推荐通过官方 APT 仓库安装:先执行 sudo apt update 更新索引,再运行 sudo apt install postgresql-18 即可完成部署。新版本引入了异步 I/O 子系统,在顺序扫描与 VACUUM 场景下性能提升显著,同时支持 UUID v7 原生生成函数与虚拟生成列。
- 执行:
sudo locale-gen zh_CN.UTF-8 - 验证:
locale -a | grep zh_CN应返回zh_CN.utf8(注意大小写不敏感,但文件名实际是小写) - 如果报错 “locale not found”,先检查
/etc/locale.gen是否有zh_CN.UTF-8 UTF-8这行且未被注释;没有就手动取消注释再跑一遍locale-gen
用 dpkg-reconfigure locales 而非 update-locale 设默认
sudo update-locale LANG=zh_CN.UTF-8 在某些 Ubuntu 版本(尤其是 Server 或最小化安装)下不生效,因为它只写入 /etc/default/locale,而 systemd 会优先读取 /etc/locale.conf 或用户级配置。最稳的方式是交互式重配置。
- 运行:
sudo dpkg-reconfigure locales - 操作:方向键下翻 → 找到
zh_CN.UTF-8→ 空格选中(出现 *)→ Tab 切到OK→ 回车 → 下一页选zh_CN.UTF-8为默认 → 回车 - 完成后检查:
locale命令输出所有变量都应是zh_CN.UTF-8,而非en_US.UTF-8或空值 - 图形界面用户还需重启 session(登出再登录),Server 用户需重新 ssh 连接或
source /etc/default/locale
中文显示乱码?先装字体,再查编码
即使 locale 正确,纯文字界面(如 SSH 终端、tty)仍可能显示 □□ 或问号——这不是语言包问题,是缺中文字体。Ubuntu Desktop 默认带,但 Server、Minimal 或 WSL 环境几乎肯定缺。
- 装字体:
sudo apt install -y fonts-noto-cjk fonts-wqy-microhei - 临时测试:
export LANG=zh_CN.UTF-8; echo "你好"—— 如果输出乱码,说明字体未加载或终端不支持 UTF-8 - 终端里乱码但
locale正常?检查终端设置是否启用 UTF-8 编码(GNOME Terminal / Konsole / Windows Terminal 都需手动确认) - 文件内容本身是 GBK 编码?
iconv -f GBK -t UTF-8 filename转换,系统 locale 不负责文件编码转换
真正容易被忽略的是:locale 生效不等于桌面菜单立刻变中文——GNOME/KDE 需要完整 session 重启;而 Server 环境哪怕 locale 全绿,apt list 输出仍是英文,这是设计使然,不是故障。










