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=

私の OS は CentOS 8 です。これは PuttY と SSH 接続から確認したもので、リモート サーバーであるため物理的にどのように見えるかを確認することはできません。

vicat同じターミナル/シェルで正しく動作します。

私が行ったことと、問題の原因となった可能性のあるもの:

  • デフォルトのロケールは でしたPOSIXが、それを に更新しましたen_US.UTF-8(おそらく間違ったやり方でしょうか)。理由は、POSIXnanoも、viファイル内の Unicode シンボルが正しく表示されなかったためです。
  • 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"

(メッセージとUIは英語のままでお願いします)

そして、その理由は、このサーバーが当初ロシア語のレイアウトと言語で設定されていて、おそらく一部のシステムファイルがエンコード/ロケール/その他を取得していたためだと思いますru_RU.UTF-8...とにかく、今は問題ないようです

関連情報