使用s3cmd从s3下载的带外来字符的文件即将出现?

时间:2016-03-09 11:31:26

标签: amazon-s3 s3cmd

我正在尝试使用s3cmd命令行从S3下载文件。该文件具有外国字符,如(楽曲満载アプリ!!最新曲から懐かしの曲,気になるあののも検索できる)。但是当我在我的ubuntu机器上下载这个文件并打开文件时,使用vi命令,这些字符将被替换为(??????)。我不确定为什么会出现这个问题。任何帮助/建议将不胜感激。提前谢谢。

1 个答案:

答案 0 :(得分:1)

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

** P.S如果您想要的区域设置不可用,请按照此链接安装区域设置

$ 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链接让我的一天:)