任何工具将批量php文件转换为没有BOM的UTF-8?

时间:2010-03-26 22:47:59

标签: utf-8 character-encoding

我有一个非常大的脚本,其中包含很多php文件,因此我需要一些Windows工具将所有这些文件转换为没有BOM的UTF-8。 (我知道这可以用Notepad ++完成,但需要单独完成每个文件。)

4 个答案:

答案 0 :(得分:6)

我已在Windows上成功使用 UTFCast

它有一个GUI,并且非常易于使用,因此您不必使用命令行脚本。

有一个“Express”免费版本可以做你想要的,一个Pro version有更多选项(试用期为14天)。

您可以看到here a comparison chart of both versions,看它是否符合您的需求。

Express检测到更少的代码页,但对我来说,最糟糕的缺陷是没有过滤器,仅针对流程PHP文件,而不是JS。例如。

UTFCast Express

超过14天的Pro版本可用于浏览文件夹并检测文件编码,但不能转换。

UTFCast Pro

答案 1 :(得分:5)

实际上,我是用Notepad ++来做的。

在尝试此操作之前,您必须备份文件。

您需要创建一个执行此操作的宏:

  1. 将当前打开的文件转换为没有物料清单的UTF-8;
  2. 选择文件中的所有文字,然后复制它(为什么会这样?它看起来像一个错误。如果你不这样做,你的文件将被你当前的剪贴板内容替换......);
  3. 保存当前文件;
  4. 关闭当前文件。
  5. 保存此宏。

    现在,打开您的PHP文件,并使用“Run a Macro Multiple Times ...”命令运行它。 如果您打开了100个文件,请让它运行100次。

答案 2 :(得分:2)

您可以从GnuWin32获取iconv等工具并运行批处理脚本来处理所有文件。

但他们现在的编码是什么?如果它们是ANSI,并且您没有使用任何带有值=>的字节; 128,那么它们已经是无BOM的UTF-8。也许您可以使用它来缩小您必须处理的文件数量 - 可能足以让您只有少量文件可以转换(并且可能更愿意单独进行)。

答案 3 :(得分:0)

this page的底部,您会找到一个VBscript,每次拖放都可以转换任意数量的文件。