我正在将 NFS 文件系统安装到 Debian、Amazon Linux 和 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=
乌班图:
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=
谢谢。
答案1
可用区域设置集与所选的预期区域设置之间不匹配。该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'
被解释并显示为スクリーンショット
.