我有Netgear 斯道 MS2000(使用 Red Hat 的修改版本)并且在通过 SSH 连接时出现奇怪的字体问题。请注意,从 Windows 通过 PuTTY 连接以及ssh
从 Mac 控制台执行时都会发生这种情况。
当我使用一些波兰语字母并键入时,ls
它显示为两个问号。但是,当我尝试自动完成文件名时,它会正确显示。如下图所示:
尝试将变量更改TERM
为LANG
不同的值,但没有任何运气。
我还注意到 的显示错误mc
,这可能(或可能不)与同一问题相关:
有什么想法我应该改变吗?
屏幕是用 PuTTY 制作的,但在 Mac 终端上看起来是一样的。
编辑
locale
回答评论中的问题,这是,alias ls
和的输出echo młodość | od -t x1
:
-bash-3.2$ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=pl_PL.UTF-8
LC_CTYPE="pl_PL.UTF-8"
LC_NUMERIC="pl_PL.UTF-8"
LC_TIME="pl_PL.UTF-8"
LC_COLLATE="pl_PL.UTF-8"
LC_MONETARY="pl_PL.UTF-8"
LC_MESSAGES="pl_PL.UTF-8"
LC_PAPER="pl_PL.UTF-8"
LC_NAME="pl_PL.UTF-8"
LC_ADDRESS="pl_PL.UTF-8"
LC_TELEPHONE="pl_PL.UTF-8"
LC_MEASUREMENT="pl_PL.UTF-8"
LC_IDENTIFICATION="pl_PL.UTF-8"
LC_ALL=
-bash-3.2$ alias ls
alias ls='ls --color=tty'
-bash-3.2$ echo młodość | od -t x1
0000000 6d c5 82 6f 64 6f c5 9b c4 87 0a
0000013
-bash-3.2$
答案1
根据吉尔斯的评论,我设法解决了这个问题。问题是缺少 pl_PL 语言环境。我找到了关于PC 加载信件博客:
cd ~/sometemp
wget http://sourceforge.net/projects/dsgpl/files/DSM%203.1%20Tool%20Chains/Marvell%2088F628x%20Linux%202.6.32/gcc421_glibc25_88f628x.tgz
tar xvfz gcc421_glibc25_88f628x.tgz
cd arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/bin
cp locale /opt/bin
cp localedef /opt/bin
cp -R arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n /usr/share
#-----keep another copy safe in case DSM is reinstalled later
cp -R arm-none-linux-gnueabi/arm-none-linux-gnueabi/libc/usr/share/i18n /opt/share
mkdir /usr/lib/locale
然后输入:
localedef -c -f UTF-8 -i pl_PL pl_PL.utf8
并重新记录一切正常。