2010-03-01 64 views
4

我的公司有php脚本与不同语言(包括法语,德语,西班牙语,意大利语和英语)的文本。如何检查Linux中的文件编码?处理多语种脚本

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

我对你有几个问题:

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

感谢任何提前通知

回答

5

开发人员决定使用Latin-1编码作为每个人的基础,因此这样没有人会覆盖文件编码和损坏外语。

的Latin-1无法处理大多数语言。 Unicode的风格(通常是UTF-8)是首选。

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

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

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

明智地配置编辑器。

0

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

6

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

使用--mime编码只得到你想要的信息。

1

我已经第一次使用iconv的来回转换,但因为你不知道编码,尝试enca(极其幼稚的字符集分析)。但总的来说,它很难得到它,因为它需要知识的常用词等

2.唯一的理智的方法是使用更大的charset,如unicode这个。您可以通过在您的源控制系统中添加一个预检入钩子来强制执行此操作,该控制系统仅允许正确格式化的utf-8文件(例如)。