キリル文字に問題があります。私の端末はキリル文字を正常に表示しますが、ほとんどのプログラムはこれまでに見つけた唯一の例外はls
です。通常のキリル文字の代わりに、?????? ???
が表示されます。
MacOS Mojaveを実行しています。
スクリーンショットが含まれています。
export LC_ALL=ru_RU.UTF-8
説明:まず、正しいロケールがインストールされていることを確認してください:
locale -a | egrep -i 'ru.*utf'
ru_RU.UTF-8
次に、正しいロケールを設定してみてください。私の最初の試みは次のとおりです。
export LC_ALL=ru_RU.UTF-8
そして、あなたは簡単なテストをすることができます:
( date; export LC_ALL=ru_RU.UTF-8 ; date +%c)
Fri Mar 8 08:08:50 -03 2019
пятница, 8 марта 2019 г. 08:08:50
次に、少し(?)より複雑なテストを行うことができます。
( date; \
export LC_ALL=ru_RU.UTF-8 ; \
d=$(date +%c | sed 's/ /_/g'); \
mkdir /tmp/test; \
echo $d > /tmp/test/$d.txt; \
echo "with right locale:"; \
ls -ltra /tmp/test ; \
echo "with 'C' locale:"; \
LC_ALL=C ls -ltra /tmp/test )
Fri Mar 8 08:14:19 -03 2019
with desired locale:
total 12
-rw-r--r-- 1 vfalcao wheel 48 мар 8 08:13 пятница,__8_марта_2019_г._08:13:21.txt
-rw-r--r-- 1 vfalcao wheel 48 мар 8 08:13 пятница,__8_марта_2019_г._08:13:38.txt
drwxrwxrwt 19 root wheel 608 мар 8 08:13 ..
drwxr-xr-x 5 vfalcao wheel 160 мар 8 08:14 .
-rw-r--r-- 1 vfalcao wheel 48 мар 8 08:14 пятница,__8_марта_2019_г._08:14:19.txt
with 'C' locale:
total 12
-rw-r--r-- 1 vfalcao wheel 48 Mar 8 08:13 ??????????????,__8_??????????_2019_??._08:13:21.txt
-rw-r--r-- 1 vfalcao wheel 48 Mar 8 08:13 ??????????????,__8_??????????_2019_??._08:13:38.txt
drwxrwxrwt 19 root wheel 608 Mar 8 08:13 ..
drwxr-xr-x 5 vfalcao wheel 160 Mar 8 08:14 .
-rw-r--r-- 1 vfalcao wheel 48 Mar 8 08:14 ??????????????,__8_??????????_2019_??._08:14:19.txt
ロケールをUTF-8文字を処理できるロケールに設定する必要があります。 C
ロケールはそうすることができません(そうしません)。
1つのオプションは、ロケールをC
に強制しているLC_*
環境変数を削除することですが、根本的な問題に対処し、最初に正しく設定することをお勧めします。
unset $(set | sed -n '/^LC_/s/=.*//p')