Unix:检查文件的编码

Aav*_*vik 5 unix linux shell

我有一个包含特殊字符的文件。要将这些文件加载​​到 hadoop hive 中,文件应采用 UTF-8 格式。

当我输入file -bi $filename命令来获取编码类型时,它给了我text/plain; charset=us-ascii

然后我使用 icon 通过以下方式转换为 utf-8:

iconv -f iso-8859-1 -t utf8 $filename > ${filename}_conv
Run Code Online (Sandbox Code Playgroud)

现在这个 utf-8 文件已成功加载到 hive 中。但是当我运行file -bi $${filename}_conv命令时它给出: text/plain; charset=us-ascii

我原以为字符集是 utf8,但它返回的是 ascii。

有没有其他方法可以找到编码。因为我可能会重复使用该文件并且不想再次编码。

没有 isutf8 或 chardet,我尝试了 file --mime。所有这些似乎都不起作用。

是否有任何其他命令可用于确定编码类型,将会非常有帮助。

谢谢。