
Ubuntu Server 16.04 を新しくインストールし、Unicode 文字の処理方法をテストしています。
- ファイル名に Unicode 文字が含まれています:
testā.txt
。これをタブで選択すると (つまり )$ rm tes[tab]
、コマンドに正しいファイル名が選択されます。 - そうすると
$ ls
、test??.txt
ファイルリストに - を使用してファイルの内容に Unicode 文字を追加し
$ echo āāā > test.txt
、 を実行すると$ cat test.txt
、正しい出力が得られます。 - ただし、nano エディターでファイルを開くと、内容は次のようになります
^ ^ ^
。 - 16 進ダンプは、
$ xxd test.txt
Unicode 文字がファイルに正しく保存されていることを示しています。c481 c481 c481 0a
私が使用しているターミナル プログラム (Guake) では、Unicode 文字に関する問題は発生していません。通常のローカル ターミナル セッションでは、上記のような問題は発生しません。
電話env | sort | grep -E '^(LANG(UAGE)?|LC_\w*)='
をかけると
LANG=en_US.UTF-8
LANGUAGE=en_US:en
LC_ADDRESS=lv_LV.UTF-8
LC_IDENTIFICATION=lv_LV.UTF-8
LC_MEASUREMENT=lv_LV.UTF-8
LC_MONETARY=lv_LV.UTF-8
LC_NAME=lv_LV.UTF-8
LC_NUMERIC=lv_LV.UTF-8
LC_PAPER=lv_LV.UTF-8
LC_TELEPHONE=lv_LV.UTF-8
LC_TIME=lv_LV.UTF-8
これはサーバーのロケール設定で修正できるものなのでしょうか? それとも、ssh セッションを開始するときに使用すべきパラメータがあるのでしょうか?