关于 PuTTY 和 UTF-8 编码有很多问题和答案......
让我总结一下:我正在使用修补的 Nerd Font(https://github.com/ryanoasis/nerd-fonts)。它显示良好最多特殊字符,但有些在 PuTTY 中无法正确显示。它们通过 Windows 终端、记事本等可以正常显示。
如您所见,unicode0xF0E7
应该是一个 flash 符号,但 PuTTY 不知何故显示了一个哥特式字符。此外,当我从 PuTTY 窗口复制并粘贴该字符时,它是þ
,而不是 flash 图标。PuTTY 以某种方式更改了 unicode 代码点?þ 是 0x00FE 而不是 0xF0E7!还请注意,PuTTY 确实可以正常显示其他特殊字符,例如屏幕截图中的文件夹符号或心形符号。
我的设置:
油灰
- 窗口 > 外观 > 字体:一些 Nerdfont 并允许选择可变间距字体
- 窗口 > 外观 > 字体质量:ClearType
- 窗口 > 翻译 > 远程字符集:UTF-8
- 窗口 > 翻译 > 绘制字符:使用 Unicode 线条图
猛击
locale
返回LANG=en_GB.UTF-8
(以及LC_ALL=en_GB.UTF-8
)
TMUX
set -g default-terminal "screen-256color"
setw -q -g utf8 on
当我通过 Windows 终端 ssh 进入盒子时,一切都按预期工作,通过 tmux 也是如此。只有当我使用 PuTTY 时,一些 UTF-8 字符才会被替换。
答案1
您好,DejaVu 是一个很好的解决方案。下载并安装 DejaVu (https://github.com/dejavu-fonts/dejavu-fonts)在 Putty 中的“外观”“字体设置”下选择“DejaVu Sans Mono, 10tp Regular”。然后它就可以正常工作了。
来源:https://superuser.com/questions/393834/how-to-configure-putty-to-display-these-characters