在 Linux 控制台上显示重音符号

在 Linux 控制台上显示重音符号

我正在尝试在 Linux 控制台 (vt) 上显示 ISO-8859-1 重音符号。这曾经是微不足道的:

echo -e '\xe9'

默认情况下,在 CentOS 6 中,上面显示一个块。

如果我运行以下命令:

setfont lat1-16
echo -e '\xe9'

我得到了逆转?而不是预期的小写 e 重音符号。

如果我运行以下命令:

setfont iso01.16

我得到一个小房子符号。

我搞乱了各种值 -m 和 -u 但这对输出的影响为零。

答案1

Centos 7(在我的测试 virt 上,大概还有 Centos 6)倾向于默认设置 UTF-8,除非您另外告诉安装程序,或者重新配置系统以使用其他编码。/root/anaconda-ks.cfg可能表明安装设置的语言:

# echo -e '\xe9' | iconv -f iso-8859-1 -t UTF-8
é
# locale
... (bunch of UTF-8 things here) ...
# grep lang /root/anaconda-ks.cfg
lang en_US.UTF-8
#

可以通过以下方式关闭 Unicodeness:

# unicode_stop
# setfont -m 8859-1
# echo -e '\xe9'
é
# 

希望与 Centos 6 上的相同。从grep中的一些情况来看/etc,这些文件/etc/sysconfig/i18n看起来/etc/locale.conf像是它们控制区域设置。

相关内容