Linux ファイル名のキリル文字

Linux ファイル名のキリル文字

Buildroot ツールで作成した Linux を持っています。

そして、キリル文字の名前を持つファイルを作成する際に問題が発生しました。たとえば、次のようなコマンドでファイルを作成しようとすると、

touch файл.txt

のような名前のファイルを取得します????.txt

変数をエクスポートしようとしましたLANG:

# export LANG=ru_RU.utf8
# echo $LANG
ru_RU.utf8

また、ディレクトリと EXT3 パーティションにファイルを作成しようとしました/tempが、結果は同じでした。

一般的に、システム内でキリル文字を使用できます。プログラムはキリル文字を印刷でき、プログラム内でキリル文字の記号を使用できます (たとえば、vi など)。

他に何を試せばいいでしょうか?

答え1

touch したファイル名を正しく作成します。しかし、ls表示されません。これは、ls印刷可能な文字として認識されないものには、デフォルトで疑問符が表示されるためです。

これをテストするには、別のコマンドを使用してディレクトリの内容を表示します。次のコマンドのいずれかを試してください。

$ ls --show-control-chars
$ sh -c 'echo *'
$ python3 -c 'import os; print(os.listdir("."))'

と入力したときと同じように、$LANGをUTF-8ロケールに設定すると、export LANG=ru_RU.UTF-8問題は解決するはずです。それでもうまくいかなかったので、

  • が設定されている場合はLC_CTYPE、 の値が上書きされますLANG
  • システムはロシア語サポート付きでインストールされていますか? そうでない場合は、 などのサポートされている別のロケールを使用してくださいen_US.UTF-8

関連情報