-2

我有一个脚本,它正在从一台服务器读取一些数据并将其存储在一个文件中。但该文件似乎以某种方式损坏。我可以将它打印到显示器上,但是使用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告诉我编码未知,实际上是什么?

4

2 回答 2

1

根据问题中的信息,该文件是一个非常好的 UTF-8 文件。前三个字节编码左双引号(U+201C),也就是一个弯引号。

也许你的版本file真的很旧。

于 2015-09-08T07:16:33.937 回答
0

您可以使用 iconv 将文件转换为所需的字符集。例如

iconv --from-code=UTF8 --to-code=YOURTARGET

要获取支持的目标列表,请使用 --list 标志。

于 2015-09-07T12:13:13.237 回答