UbuntuとDebianはファイル名に異なる文字エンコーディングを使用します。

UbuntuとDebianはファイル名に異なる文字エンコーディングを使用します。

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-8Debianおよび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'ですスクリーンショット

関連情報