Nano 显示空格而不是某些符号

Nano 显示空格而不是某些符号

我有一种感觉,我有这个漏洞,但我刚刚从源安装了新的 Nano 4.7

当我打开文件时,很多符号(甚至非unicode)都无法正常显示,而是显示为空格。当我将光标移到它们上面时,它们就会出现(通常如此)。

演示 ( nano /etc/environment):

在此处输入图片描述

# nano --version
GNU nano, version 4.7
(C) 1999-2011, 2013-2019 Free Software Foundation, Inc.
(C) 2014-2019 the contributors to nano
Email: [email protected]    Web: https://nano-editor.org/
Compiled options: --disable-libmagic --enable-utf8

# locale
LANG=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=

我的操作系统是 CentOS 8。我从 PuttY 和 SSH 连接中看到了这一点,但由于它是一个远程服务器,所以我无法检查它的物理外观。

vicat在同一终端/shell 中正常工作。

我做了什么以及可能导致问题的原因:

  • 默认语言环境是POSIX,我将其更新为en_US.UTF-8(也许我做错了?)。原因是 和都POSIX无法正确显示文件中的 unicode 符号。nanovi
  • 开箱即用的 Nano 2.9.8 开始出现问题,所以Error in /usr/share/nano/rust.nanorc on line 11: Bad regex我决定尝试新版 Nano

我该如何修复我的 Nano 以正确显示文件?

答案1

好像我通过将语言环境设置为 而不是en_US.UTF-8来解决这个问题ru_RU.UTF-8

所以现在我的/etc/environment是这样的:

LANG=en_US.UTF-8
LC_CTYPE="ru_RU.UTF-8"
LC_NUMERIC="ru_RU.UTF-8"
LC_TIME="ru_RU.UTF-8"
LC_COLLATE="ru_RU.UTF-8"
LC_MONETARY="ru_RU.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="ru_RU.UTF-8"
LC_NAME="ru_RU.UTF-8"
LC_ADDRESS="ru_RU.UTF-8"
LC_TELEPHONE="ru_RU.UTF-8"
LC_MEASUREMENT="ru_RU.UTF-8"
LC_IDENTIFICATION="ru_RU.UTF-8"

(我仍然想要英文的信息和用户界面)

我认为,造成这种情况的原因是该服务器最初配置的是俄语布局和语言,也许一些系统文件获得了ru_RU.UTF-8编码/语言环境/其他任何内容...无论如何,现在一切似乎都很好。

相关内容