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'
亞馬遜 Linux:
???????????????????????????-2018-01-11-11.28.19.png
我遇到的問題是,我在這些伺服器中執行 Wordpress 伺服器,而 Debian 實例返回錯誤,因為它找不到圖像文件,我假設這是因為文件名不同。
為什麼這些發行版之間的文件名編碼有如此不同,即使它們都是基於 Debian 的?是否有針對 Debian 系統的修復程序?
的輸出
locale
:請注意,儘管locale
Amazon 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'
被解釋並顯示為スクリーンショット
.