Debian

Ubuntu 和 Debian 對文件名有不同的字元編碼

  • March 31, 2022

我正在將 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'

亞馬遜 Linux:

???????????????????????????-2018-01-11-11.28.19.png

我遇到的問題是,我在這些伺服器中執行 Wordpress 伺服器,而 Debian 實例返回錯誤,因為它找不到圖像文件,我假設這是因為文件名不同。

為什麼這些發行版之間的文件名編碼有如此不同,即使它們都是基於 Debian 的?是否有針對 Debian 系統的修復程序?

的輸出locale:請注意,儘管localeAmazon Linux 和 Debian 的輸出相同,但文件名的顯示方式不同。

德比安:

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=

亞馬遜 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=

謝謝你。

可用語言環境集與選定的預期語言環境不匹配。該locale -a命令將顯示可用的語言環境,並locale顯示目前選擇的語言環境。

Ubuntu:C.UTF-8 Debian:en_US.UTF-8 亞馬遜: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'被解釋並顯示為スクリーンショット.

引用自:https://unix.stackexchange.com/questions/697461