如何检查Linux中的文件编码? 处理多语言脚本

我的公司有不同语言(包括法语,德语,西class牙语,意大利语和英语)文本的PHP脚本

开发人员决定使用Latin-1编码作为每个人的基础,所以没有人会重写文件编码和腐败的外语。 (起初一些开发人员使用html实体,但这种方式不是首选)

我有几个问题给你:

  1. 你怎么能检查在Linux上的文件编码?
  2. 如果您有使用不同语言的文件的经验,您是如何设法不重写其他编码的?

预先感谢您的任何build议

开发人员决定使用Latin-1编码作为每个人的基础,所以没有人会重写文件编码和腐败的外语。

拉丁语-1不能处理大多数语言。 Unicode的风格(通常是UTF-8)是首选。

你怎么能检查在Linux上的文件编码?

使用file实用程序。 它只能猜测。

如果您有使用不同语言的文件的经验,您是如何设法不重写其他编码的?

配置灵活的编辑器。

文件为您提供有关文件的信息,包括字符集,语言等等,具体取决于文件类型。

使用–mime-encoding只获取你想要的信息。

1.我已经使用iconv来回转换,但由于您不知道编码,请先尝试enca (极其天真的字符集分析器)。 但总的来说,要做到正确是很困难的,因为它需要一些常识性的知识。

2.唯一理智的方法就是使用像unicode这样的更大的字符集。 你可以通过在你的源代码管理系统中添加一个预先签入的钩子来实现这个功能,这个系统只允许正确格式化的utf-8文件(例如)。

没有可靠的方法来检查文件的编码; 各种8位单字节编码实际上在没有检查的情况下是不可区分的。 在任何地方使用UTF-8意味着每个人都有一个单一的通用有效的编码。