Unicode 字符在 Bash 中显示错误

Unicode 字符在 Bash 中显示错误

我在用着电力线外壳就像我的 bash 一样PS1。但是正如您在屏幕截图中看到的,unicode 字符无法正确显示:

截屏

如何使 unicode 字符在 Bash 中正确打印?

编辑:

$ locale
LANG=en_US.UTF-8
LANGUAGE=en_US
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=

答案1

指示提到您需要修补您的控制台字体,但显然您还没有(成功)完成;或者您可能未能设置您的终端来使用其中一种修补的字体。

由于您的问题没有提到任何有关此内容的内容,我认为可以安全地假设您只是错过了这部分说明。

根据你的评论,显示不正确的字符例如乌+E0A2U+E0B0, 和U+E0B1. 但那些是“私人使用区域”角色,因此它们没有任何通用含义。就 Unicode 而言,这里没有“正确”或“不正确”的问题,只是缺乏标准化。

答案2

首先尝试安装 fonts-powerline

sudo apt install fonts-powerline

相关内容