14 Joomla .ini文件需要另存为UTF-8。 编辑后,我不确定文件是否为UTF-8。 是否有Linux命令类似file或一些命令来判断文件是否确实为UTF-8? linux utf-8 joomla — 爱德华 source 4 您无法确定文件的编码。您只能做出明智的猜测。您可能大多数都猜对了,但有时猜测却失败了。file是一个程序进行智能猜测的示例。 — Marco Marco 1 @Marco:但是可以验证它是否为有效的UTF-8。有一些编码,可以发送了错误的为有效的UTF-8,但它几乎从来没有与ISO-8859-𝒏或Windows的125𝒏编码/字符集发生。 — 2013年
28 您可以使用以下命令确定文件编码: file -bi filename — 里克 source 3 @nicolas对于MacOS,您可以尝试file -I filename(-I是大写字母i)。 — 瑞克 5 这会读取整个文件吗? — ctrl-alt-delor 2 @ kojow7 utf-8没有标题。纯ASCII(仅7位)与utf-8是无法区分的(也就是说,标头会引起各种问题)。因此,如果第一个MB的文件为ASCII,然后只有一个UTF-8字符,那么除非您读取了整个文件,否则您将不会知道。 — ctrl-alt-delor 3 这不应该作为答案。'file'命令不这样做;它仅读取文件的一部分,并使用幻数进行最佳猜测。有时候,“文件”可能会给您错误的答案。要验证文件是否通过了诸如ascii,iso-8859-1,utf-8之类的编码,那么最好使用“ iconv”命令。 — 蒂姆 1 我已经测试过了,它可能并且确实会失败。 — 蒂姆
9 可以使用moreutils软件包中的isutf8命令。 资料来源:如何判断文件是否为UTF-8编码? — 巴勃罗·奥尔莫斯·德·阿奎莱拉C. source @davidpostill我很好奇,是在参考文献中引用作者的错误做法吗? — Pablo Olmos de Aguilera C. 否。但是,这是很好的做法,使链接说顺其自然我。假设我只阅读蓝色文本。编辑后,我可以告诉我为什么以及何时单击。以前,我做不到。(不是我进行编辑的,但我想94%的人确定这就是事实。) — HermannDöppes18年 很好,并且可以与配合使用find -type f -exec isutf8 {} +,因为它还引用了文件名。(而且使用find ... -exec ... +也很快) — Tomasz Gandor
2 不要使用该file命令。它不检查整个文件,并且基本上是猜测。有时会给出错误的答案。 您可以验证文件是否碰巧通过了UTF-8编码,如下所示: $ iconv -f utf8 <filename> -t utf8 -o /dev/null 返回码为零表示它通过了UTF8。非零返回码表示它不是有效的UTF8。 这是不可能知道一个文件是使用任何特定的编码方案必然出口,一些编码方案重叠。为此,需要将元数据嵌入文件中,即使那样,您也将信任生成该文件的人,而不是自己对其进行验证...,并且应始终自己对其进行验证。 — 提姆 source
0 还有一种方法是使用recode,如果尝试解码UTF-8并遇到无效字符,则会退出并显示错误。 if recode utf8/..UCS < "$FILE" >/dev/null 2>&1; then echo "Valid utf8 : $FILE" else echo "NOT valid utf8: $FILE" fi — 薇薇 source
file
是一个程序进行智能猜测的示例。