我有一个包含葡萄牙语数据的 zip 文件。当我尝试解压该文件时
$ unzip abc.zip
它创建了一个文件“abc.csv”,但当我尝试查看数据时,得到的是“?”而不是“á”之类的字符。我在 shell 上的 LANG 设置如下:
$ locale
LANG=pt_BR.UTF-8
LC_CTYPE="pt_BR.UTF-8"
LC_NUMERIC="pt_BR.UTF-8"
LC_TIME="pt_BR.UTF-8"
LC_COLLATE="pt_BR.UTF-8"
LC_MONETARY="pt_BR.UTF-8"
LC_MESSAGES="pt_BR.UTF-8"
LC_PAPER="pt_BR.UTF-8"
LC_NAME="pt_BR.UTF-8"
LC_ADDRESS="pt_BR.UTF-8"
LC_TELEPHONE="pt_BR.UTF-8"
LC_MEASUREMENT="pt_BR.UTF-8"
LC_IDENTIFICATION="pt_BR.UTF-8"
LC_ALL=
我将非常感激任何对此提供帮助的帮助。
答案1
最有可能的是,您可以责怪您的编辑器无法理解 ISO-8859-1 或 UTF-8 格式。iconv
在这种情况下,该命令非常有用;尝试将 csv 文件双向转换(ISO-8859-1 -> UTF-8 和 UTF-8 -> ISO-8859-1,因为我不知道哪一个是您的原始编码),然后检查是否至少有一个新创建的文件被正确读取:
$ iconv -f UTF-8 -t ISO-8859-1 abc.csv > abc-latin1.csv
$ iconv -f ISO-8859-1 -t UTF-8 abc.csv > abc-utf8.csv