解决中文乱码问题,可以参考这这篇文章:Localization/Simplified Chinese
主要分成3个步骤
- locale配置
- 中文字体
- 不同软件的字体设置
locale配置
locale配置,其实是配置locale的环境变量
- LANGUAGE
- LC_ALL
- LC_xxx, xxx表示不同的分类:CTYPE, TIME, ...
- LANG
可以执行命令locale
查看当前配置,关于这些locale环境变量更详细内容可以查看: https://www.baeldung.com/linux/locale-environment-variables
$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC=en_US.UTF-8
LC_TIME=en_US.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=en_US.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=en_US.UTF-8
LC_NAME=en_US.UTF-8
LC_ADDRESS=en_US.UTF-8
LC_TELEPHONE=en_US.UTF-8
LC_MEASUREMENT=en_US.UTF-8
LC_IDENTIFICATION=en_US.UTF-8
LC_ALL=
注意:设置LC_ALL
变量,会覆盖除了LANGUAGE之外的所有locale环境变量,因此尽量不要使用它。
安装中文locale
推荐使用UTF-8的locale,将en_US.UTF-8
和zh_CN.UTF-8
的注释从配置文件/etc/locale.gen
去掉,即删除行首的#
# /etc/locale.gen
en_US.UTF-8 UTF-8
zh_CN.UTF-8 UTF-8
然后执行
sudo locale-gen
配置LANG和LANGUAGE
设置locale全局配置文件/etc/locale.conf
,但不推荐在该文件中配置全局的中文locale,会导致 tty 乱码。
# /etc/locale.conf
LANG=en_US.UTF-8
不同的用户可以在下列文件中,设置各自的环境变量。如果对英文还算习惯,该步骤可以略去。
~/.bashrc
:每次使用终端登录时读取并运用里面的设置。~/.xinitrc
:每次使用 startx 或 SLiM 启动 X 界面时读取并运用里面的设置。~/.xprofile
:每次使用 GDM 等显示管理器登录时读取并运用里面的设置。
export LANG=zh_CN.UTF-8
export LANGUAGE=zh_CN:en_US
安装字体
推荐安装noto-fonts-cjk
sudo pacman -S noto-fonts-cjk
不同软件的字体设置
firefox
简体中文用户安装 firefox-i18n-zh-cn。
sudo pacman -S firefox-i18n-zh-cn
i3wm
在配置文件~/.config/i3/config
中修改font配置
font pango:Noto Momo, Noto Scans Mono CJK SC 10
编辑于 2021-07-01 09:24