我有一个脚本,它从一个服务器读取一些数据并将其存储在一个文件中。但该文件似乎有点腐败。我可以将它打印到显示器上,但用file
检查文件会产生
bash$ file -I filename
filename: text/plain; charset=unknown-8bit
为什么告诉我编码未知?该文件的第一行显示为
“The Galaxy A5 and A3 offer a beautifully crafted full metal unibody
十六进制转储显示前三个字节是0xE2,0x80,0x9C,后跟常规ASCII文本The Galaxy A5
...
出了什么问题?为什么file
告诉我编码是未知的,实际上是什么?
答案 0 :(得分:1)
根据问题中的信息,该文件是一个非常好的UTF-8文件。前三个字节编码LEFT DOUBLE QUOTATION MARK (U+201C)也称为卷曲引号。
也许你的file
版本真的很旧。
答案 1 :(得分:0)
您可以使用iconv将文件转换为所需的字符集。 E.G。
iconv --from-code=UTF8 --to-code=YOURTARGET
要获取支持的目标列表,请使用--list标志。