![如何在BASH shell中显示中文字符](https://linux22.com/image/1318529/%E5%A6%82%E4%BD%95%E5%9C%A8BASH%20shell%E4%B8%AD%E6%98%BE%E7%A4%BA%E4%B8%AD%E6%96%87%E5%AD%97%E7%AC%A6.png)
我需要在 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