首页  >  文章  >  后端开发  >  为什么我重新编码的文件仍然使用旧的编码?

为什么我重新编码的文件仍然使用旧的编码?

Patricia Arquette
Patricia Arquette原创
2024-11-07 13:21:03740浏览

Why Are My Re-Encoded Files Still Using Their Old Encoding?

将文件重新编码为 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn