NFSファイルシステムをDebian、Amazon Linux、およびUbuntuファイルシステムにマウントしていますが、ファイル名に異なる文字エンコーディングを表示します。
サンプルファイルは、そのシステムに次のように表示されます。
Ubuntu:
スクリーンショット-2018-01-11-11.28.19.png
ダーバン:
'$'\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210''-2018-01-11-11.28.19.png'
Amazon Linux:
???????????????????????????-2018-01-11-11.28.19.png
私が経験している問題は、Wordpressサーバーを実行していますが、Debianインスタンスがイメージファイルを見つけることができないためエラーを返すことです。これはファイル名の違いによるものと推定されます。
どちらもDebianに基づいているにもかかわらず、これらのディストリビューション間でファイル名のエンコードが異なる理由は何ですか? Debian システムに対する修正はありますか?
出力:Amazon LinuxとDebianは同じですlocale
が、ファイル名は異なるように見えます。locale
ダーバン:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Ubuntu:
LANG=C.UTF-8
LANGUAGE=
LC_CTYPE=C.UTF-8
LC_NUMERIC="C.UTF-8"
LC_TIME="C.UTF-8"
LC_COLLATE="C.UTF-8"
LC_MONETARY="C.UTF-8"
LC_MESSAGES="C.UTF-8"
LC_PAPER="C.UTF-8"
LC_NAME="C.UTF-8"
LC_ADDRESS="C.UTF-8"
LC_TELEPHONE="C.UTF-8"
LC_MEASUREMENT="C.UTF-8"
LC_IDENTIFICATION="C.UTF-8"
LC_ALL=
Amazon Linux:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LC_CTYPE=UTF-8
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
ありがとうございます。
答え1
使用可能なロケールのセットと選択した予想されるロケールが一致しません。このlocale -a
コマンドは、使用可能なロケールとlocale
現在選択されているロケールを表示します。
Ubuntu: C.UTF-8
Debian: en_US.UTF-8
Amazon:en_US.UTF-8
このen_US.UTF-8
ロケールは Debian または Amazon Linux では使用できません。このコマンドは、その場所で利用可能かどうかをlocale -a
表示します。C.UTF-8
Debian サーバーと Amazon Linux サーバーでこのコマンドを root として実行すると、生成するロケールセットを選択できるだけでなく、次の画面にシステムデフォルトロケールを選択するオプションが表示されます。
dpkg-reconfigure locales
en_US.UTF-8
DebianおよびAmazon Linuxシステムに構築されているか(C.UTF-8
ここで選択されていると仮定)、システムのデフォルトとして選択されていることをC.UTF-8
確認する必要があります。
多くのUTF-8ロケールのいずれかを選択しない場合、ユーザーインターフェイスはバイト文字列$'\343\202\271\343\202\257\343\203\252\343\203\274\343\203\263\343\202\267\343\203\247\343\203\203\343\203\210'
ですスクリーンショット
。