將文件重新編碼為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中文網其他相關文章!