Ubuntu 和 Debian 对文件名有不同的字符编码

Ubuntu 和 Debian 对文件名有不同的字符编码

我正在将 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:请注意,尽管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=

乌班图:

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'被​​解释并显示为スクリーンショット.

相关内容