怎样让Ubuntu支持中文

2026年10月13日 | 分类: 【技术】

Ubuntu系统缺少中文字体支持时,会出现乱码。

【安装】

1. 安装开源中文字体:

sudo apt install fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming

2. 安装中文语言包:

sudo apt install language-pack-zh-hans

3. 配置系统语言,在界面中选择 zh_CN.UTF-8 :

sudo dpkg-reconfigure locales

4. 刷新字体缓存,让系统识别新字体:

sudo fc-cache -fv

5. 重启终端。

6. 安装中文输入法

安装输入法框架和中文引擎:

sudo apt install fcitx5 fcitx5-chinese-addons fcitx5-config-qt fcitx5-configtool

设置系统输入法为 fcitx5:

im-config -n fcitx5

参考:https://www.cnblogs.com/wzzkaifa/p/19080713

【卸载】

把 Ubuntu 服务器的默认语言和字体改为 en_US 是对的,因为服务器本身通常不涉及图形界面或中文显示,用 en_US.UTF-8 能避免很多不必要的编码问题,也更方便搜索英文报错信息。

虽然你提到“字体”,但 Linux 服务器核心的“语言环境”是由 locale 控制的,它决定了系统如何显示字符、编码和消息。服务器一般不需要安装字体,只需把 locale 设为 en_US.UTF-8 即可。

操作步骤

1. 生成并设置 locale

Ubuntu 服务器默认可能没有生成 en_US.UTF-8,需要先确保它存在,再设为默认。

# 检查是否已有 en_US.UTF-8
locale -a | grep en_US.utf8

# 如果没有,直接生成它
sudo locale-gen en_US.UTF-8

# 将系统默认 locale 设为 en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8 LC_ALL=en_US.UTF-8

这里用 LC_ALL 是为了确保所有子类别都统一为英文,避免部分消息仍为中文的情况。

2. 让设置生效

update-locale 修改的是配置文件,对当前已登录的 shell 不会立即生效。可以选择其中一种:

  • 重新登录(推荐):退出 SSH 再连一次,最简单可靠。
  • 临时切换:如果不想断开会话,手动 export 一下:
    export LANG=en_US.UTF-8
    export LC_ALL=en_US.UTF-8

3. 验证

重新登录或 export 后,运行:

locale

应该看到所有 LC_* 和 LANG 都显示为 en_US.UTF-8,没有报错或乱码。

补充说明

  • 关于“字体”:在无图形界面的服务器上,终端显示的字体是由你本地 SSH 客户端决定的,服务器端不管理字体。你只需要在本地终端软件(如 SecureCRT、PuTTY、Windows Terminal)里把字符编码设为 UTF-8,并选一个支持等宽英文的字体即可。
  • 不要用 dpkg-reconfigure locales:它会弹出交互式全屏选择界面,在服务器上操作反而麻烦。直接用 locale-gen + update-locale 更简洁。
  • LC_ALL 的影响:把 LC_ALL 也设为 en_US.UTF-8 后,系统日志、程序输出都会变成英文。如果你习惯看中文日志,可以只设 LANG,不设 LC_ALL,但那样部分消息可能仍是中文。

执行完后,用 locale 确认一下,如果所有项都指向 en_US.UTF-8,就说明改好了。