如何设置 debian 9/10 和 putty 显示 utf-8 字符?

如何设置 debian 9/10 和 putty 显示 utf-8 字符?

在打开这个问题之前,我用谷歌搜索了很多并尝试了所有建议的修复

问题

PM2.5监测util 是这样显示的

在此输入图像描述

代替

在此输入图像描述

奇怪的是:pm2 列表显示在右侧

在此输入图像描述

我的远程系统

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 9.11 (stretch)
Release:        9.11
Codename:       stretch

Putty 安装在 Windows 10 Pro 上

区域设置

$ locale
LANG=it_IT.UTF-8
LANGUAGE=
LC_CTYPE="it_IT.UTF-8"
LC_NUMERIC="it_IT.UTF-8"
LC_TIME="it_IT.UTF-8"
LC_COLLATE="it_IT.UTF-8"
LC_MONETARY="it_IT.UTF-8"
LC_MESSAGES="it_IT.UTF-8"
LC_PAPER="it_IT.UTF-8"
LC_NAME="it_IT.UTF-8"
LC_ADDRESS="it_IT.UTF-8"
LC_TELEPHONE="it_IT.UTF-8"
LC_MEASUREMENT="it_IT.UTF-8"
LC_IDENTIFICATION="it_IT.UTF-8"
LC_ALL=

腻子配置

使用的字体:DejaVu Mono Sans

窗口 -> 翻译设置

在此输入图像描述

问题

简单的问题是:如何设置 debian 系统和/或 putty 以查看正确的输出?

答案1

PuTTY 在处理 UTF-8 时会忽略 VT100 画线控件。 ncurses 可以通过设置NCURSES_NO_UTF8_ACS环境变量(或使用更正后的putty终端描述)。

环境TERM到“xterm”从未使用过 PuTTY;更长的答案请参阅

答案2

左上角被l、水平线q和垂直线替代的事实x表明pm2_monit似乎正在使用 VT100 画线字符而不是 Unicode 画线代码点。

由于pm2 list显示正确,我猜它正确使用了 Unicode 线条绘制代码点。

您是否尝试过选中Enable VT100 line drawing even in UTF-8 modePuTTYNG 中的复选框?

答案3

我添加自己的答案只是为了完成我选择的最佳答案。 [https://unix.stackexchange.com/a/544736/167205]

用户说设置NCURSES_NO_UTF8_ACS环境变量。

我在我的 Linux 控制台中使用了这个简单的命令

echo export NCURSES_NO_UTF8_ACS=1 >> ~/.bashrc

相关内容