将文件重新编码为 UTF-8
您有一组非 UTF-8 编码的文件,并且您正在将您的网站转换为使用 UTF-8。为了促进这种转换,您设计了一个简单的脚本来读取文件并将其保存为 UTF-8,但生成的文件保留其旧编码。
这是有问题的脚本:
header('Content-type: text/html; charset=utf-8'); mb_internal_encoding('UTF-8'); $fpath = "folder"; $d = dir($fpath); while (False !== ($a = $d->read())) { if ($a != '.' and $a != '..') { $npath = $fpath . '/' . $a; $data = file_get_contents($npath); file_put_contents('tempfolder/' . $a, $data); } }
要成功以 UTF-8 编码保存文件,您需要在每个文件的开头添加 UTF-8 字节顺序标记 (BOM):
file_put_contents($myFile, "\xEF\xBB\xBF". $content);
通过此添加,您的脚本将以 UTF-8 有效地对输出文件进行编码,确保与现代 Web 标准的兼容性。
以上是为什么我重新编码的文件仍然使用旧的编码?的详细内容。更多信息请关注PHP中文网其他相关文章!