如何在BASH shell中显示中文字符

如何在BASH shell中显示中文字符

我需要在 bash 中启动一个二进制文件,并且该二进制文件的输出包含一些中文字符。所以我的问题是如何让 bash 正确显示中文字符。顺便说一下,我使用 Centos。

答案1

您需要 UTF-8 编码才能正确显示所有中文字符。

要查看当前的语言环境,只需输入 locale,您将获得类似的输出:

LANG=en_US.UTF-8
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=

如果您看到LANG=en_US.UTF-8包含“UTF-8”子字符串或类似的内容,则所有中文字符均能正确显示。

另外,请记住您的终端也需要 UTF-8 支持。可以提供更多信息。

答案2

我认为您需要更改两个文件,您需要将其添加到和.UTf-8的末尾:LANG=LANGUAGE=

1)在/etc/default/locale

LANG=" en_US.UTF-8"
LANGUAGE=" en_US:en.UTF-8"

2)在~/.pam_environment

LANG=en_US.UTF-8
LANGUAGE=en_US.UTF-8

3)重启

答案3

由于centos7/8使用广泛,只需安装一组rpm即可显示非ascii字符,非常方便。

yum groupinstall -y Fonts

相关内容