Terminal

符號在“螢幕”中顯示錯誤 - ascii 或 utf

  • April 22, 2021

我不知道從什麼時候開始,為什麼:

$ mkdir -p a/b/c x/y/{1,2,3}
$ tree
.
├── a
│   └── b
│       └── c
└── x
   └── y
       ├── 1
       ├── 2
       └── 3

8 directories, 0 files

當我執行螢幕時,顯示充滿問號的符號:

$ screen
<-- screen starts... -->
$ tree
.
��� a
�   ��� b
�       ��� c
��� x
   ��� y
       ��� 1
       ��� 2
       ��� 3

8 directories, 0 files

對於 utf 字元也是如此。

即使我移開我的.screenrc(例如使用mv -v ~/.screenrc{,.bak}),它仍然是奇怪的字元集。

它發生在我的主使用者的螢幕上,在 root 使用者上,但在我的輔助使用者上卻沒有。在這一點上,字元在螢幕上正常工作。這不是.screenrc我玩的那樣。

更新:

回复:$TERM - 似乎無關

  • 無螢幕:TERM==xterm-256color
  • 使用者 A 內屏:TERM==screen.xterm-256color 並顯示不正確
  • 使用者 B 在螢幕內:TERM==screen.xterm-256color 並正確顯示

回复:defutf8 on- 做某事

添加defutf8 on後,.screenrc現在混合 ;p 一些符號工作一些不工作,例如:

$ tree
.
├── a
│�� └── b
│��     └── c
└── x
   └── y
       ├── 1
       ├── 2
       └── 3

8 directories, 0 files

Thanks to comments in my original question, they helped me to narrow troubleshooting and find that this one line in my ~/.bashrc` is the cause - locale staff I guess:

export LC_PAPER=a4

with this line, e.g. tree displays correctly without screen but incorrectly inside screen.

After removing this line from .bashrc it looks good again.`

引用自:https://unix.stackexchange.com/questions/646177