使用 s3cmd 从 s3 下载的带有外来字符的文件是?

File with foreign characters downloaded from s3 using s3cmd is coming as?

我正在尝试使用 s3cmd 命令行从 S3 下载文件。但是当我在我的 ubuntu 机器上下载该文件并使用 vi 命令打开该文件时,字符被替换为 ( ??????)。我不确定为什么会出现此问题。任何 help/suggestions 将不胜感激。在此先感谢。

我终于解决了这个问题。在这里发帖,以便将来可以帮助某人。根据 Will 给出的关于 ubuntu 终端设置的提示,我调查了机器的语言环境。我看到语言环境是 en_US。要查看默认语言环境,请在您的终端中输入语言环境。

**P.S 如果您想要的语言环境不可用,请按照此 link 安装语言环境

$ sudo locale-gen "en_IN"
Generating locales...
  en_IN... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  en_IN... up-to-date
Generation complete.

** 在我的例子中,语言环境类似于

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=en_IN
LANGUAGE=en_IN:en
LC_CTYPE="en_IN"
LC_NUMERIC="en_IN"
LC_TIME="en_IN"
LC_COLLATE="en_IN"
LC_MONETARY="en_IN"
LC_MESSAGES="en_IN"
LC_PAPER="en_IN"
LC_NAME="en_IN"
LC_ADDRESS="en_IN"
LC_TELEPHONE="en_IN"
LC_MEASUREMENT="en_IN"
LC_IDENTIFICATION="en_IN"
LC_ALL=

我所做的是,我使用命令

打开了语言环境文件
sudo vi /etc/default/locale

并将文件内容替换为

LANG=en_IN
LANGUAGE=en_IN:en
LC_CTYPE="en_IN"
LC_NUMERIC="en_IN"
LC_TIME="en_IN"
LC_COLLATE="en_IN"
LC_MONETARY="en_IN"
LC_MESSAGES="en_IN"
LC_PAPER="en_IN"
LC_NAME="en_IN"
LC_ADDRESS="en_IN"
LC_TELEPHONE="en_IN"
LC_MEASUREMENT="en_IN"
LC_IDENTIFICATION="en_IN"
LC_ALL=

进行此更改后,我重新启动了机器,现在我打开文件并 baammmm。汉字如期出现。感谢@Will 的提示和 this link 让我开心:)