我正在尝试在 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
像是它们控制区域设置。