首頁 >後端開發 >php教程 >為什麼我重新編碼的檔案仍然使用舊的編碼?

為什麼我重新編碼的檔案仍然使用舊的編碼?

Patricia Arquette
Patricia Arquette原創
2024-11-07 13:21:03848瀏覽

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