Ls

問號而不是控制台中的國家字母

  • February 22, 2019

我有Netgear Stora MS2000(它使用 Red Hat 的修改版本)並且在通過 SSH 連接時遇到奇怪的字型問題。請注意,通過 PuTTY 從 Windows 連接和ssh從 Mac 控制台執行時都會發生這種情況。

當我使用一些波蘭字母並鍵入ls時,它顯示為兩個問號。但是,當我嘗試自動完成文件名時,它會正確顯示。如下圖所示:

控制台範例

試圖將變數更改TERMLANG不同的值,但沒有任何運氣。

我還注意到 的錯誤顯示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$

根據 Gilles 的評論,我設法解決了這個問題。問題是缺少 pl_PL 語言環境。我在PC LOAD LETTER 部落格上找到了說明:

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

並重新記錄一切正常。

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