参见屏幕截图。这是怎么回事?
在终端上(IPMI 控制台窗口 - 它准确反映屏幕上的内容):
通过 SSH 进入同一个框:
供参考的区域设置输出:
root@ubuntu16:~# locale
LANG=en_US.UTF-8
LANGUAGE=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=
root@ubuntu16:~#
由于 Serg 的评论,我尝试了一些设置,并且在 lsblk 之前使用“LC_CTYPE=C”看起来是正确的:
为什么 LC_CTYPE 会改变实际终端的输出,但对于 SSH 终端来说却没有必要?
答案1
要临时修复语言环境,您应该运行以下命令:
LC_ALL=C lsblk
或者,如果您在其他终端输出中也遇到此问题,您可能需要使用以下命令进行全局设置:
export LC_ALL=C
有关具体功能的详细信息LC_ALL=C
,你可以查看问题。
答案2
经过长时间的挖掘,我终于找到了答案!这可能是正确的方法。
通过改变永久修复:
/etc/default/console-setup
CHARMAP="iso-8859-15"
CODESET="guess"
到
CHARMAP="UTF-8"
CODESET="guess"
您还可以使用dpkg-reconfigure console-setup
更改后最好重新启动!