如何在 Linux 控制台中启用 UTF-8 支持?

如何在 Linux 控制台中启用 UTF-8 支持?

现在,它看起来像这样:

在此输入图像描述

答案1

检查您是否已locales安装该软件包

dpkg -l locales

如果没有,请安装

apt-get install locales

以 root 身份输入

dpkg-reconfigure locales

您可以使用向上/向下箭头键浏览该列表,例如选择en_US-UTF-8

.bashrc通过添加以下行来编辑:

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

运行locale命令,输出应该类似于:

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

答案2

当然(字形数量有限,但您的语言环境似乎正在使用 UTF-8 编码)。

我用它来测试:

#!/bin/sh
# send character-string to enable UTF-8 mode
if test ".$1" = ".off" ; then
    printf '\033%%@'
else
    printf '\033%%G'
fi

并且(称为“utf8”),“utf8 on”打开编码。

使用 给出的示例pstree,这里是一个示例运行脚本(之前的输出与问题中的输出类型相同):

“utf8 on”后的屏幕截图

正如评论中指出的,有一个脚本unicode_start可以更多的,但解决所提出的问题所需的只是用作示例的小脚本。

解决不同的评论:至少在我的系统上(以及问题中显示的屏幕截图中),所使用的所有字符pstree均以 Linux 控制台中默认用于 Unicode 支持的 512 字形字体提供。

进一步阅读:

答案3

设置CHARMAP="UTF-8"/etc/default/console-setup

之后跑systemctl daemon-reload && systemctl restart console-setup.service

相关内容