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

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

Patricia Arquette
发布: 2024-11-07 13:21:03
原创
870 人浏览过

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中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板