我有一个 PHP 应用程序,其文件编码是 Greek ISO (iso-8859-7)。我想将文件转换为 utf-8,但仅使用 utf-8 保存文件是不够的,因为希腊文本会出现乱码。是否有一种“自动”方法可以执行此操作,以便我可以完全转换应用程序的编码,而无需遍历每个文件并重写文本?
在 Linux 系统上,如果您确定所有文件当前均采用 ISO-8859-7 编码,则可以执行以下操作:
bash> find /your/path -name "*.php" -type f \
-exec iconv "{}" -f ISO88597 -t UTF8 -o "{}.tmp" \; \
-exec mv "{}.tmp" "{}" \;
这将转换位于以下位置的所有 PHP 脚本文件/your/path
以及所有子目录。消除-name "*.php"
转换所有文件。
由于您使用的是 Windows,最简单的选择是 PHP 脚本,如下所示:
<?php
$path = realpath('C:\\your\\path');
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path),
RecursiveIteratorIterator::SELF_FIRST
);
foreach($iterator as $fileName => $file){
if($file->isFile())
file_put_contents(
$fileName,
iconv('ISO-8859-7', 'UTF-8', file_get_contents($fileName))
);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)