Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Memastikan Pengekodan UTF-8 untuk Penukaran Fail: Mengapa Menambah BOM Membuat Perbezaan?

Bagaimana untuk Memastikan Pengekodan UTF-8 untuk Penukaran Fail: Mengapa Menambah BOM Membuat Perbezaan?

Susan Sarandon
Susan Sarandonasal
2024-11-07 21:54:03337semak imbas

How to Ensure UTF-8 Encoding for File Conversion: Why Adding a BOM Makes the Difference?

Memastikan Pengekodan Fail UTF-8 untuk Penukaran Fail

Di tengah-tengah penukaran tapak kepada pengekodan UTF-8, tugas biasa ialah untuk memastikan semua fail dikodkan dengan sewajarnya. Walau bagaimanapun, fail sedia ada mungkin menggunakan format pengekodan yang sudah lapuk. Artikel ini meneroka penyelesaian untuk menulis fail dalam format UTF-8, menangani isu yang dikemukakan dalam pertanyaan terbaharu.

Skrip mudah digunakan untuk menukar pengekodan, tetapi fail yang terhasil mengekalkan pengekodan asalnya. Skrip berikut telah digunakan:

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);
    }
}

Untuk berjaya menulis fail dalam pengekodan UTF-8, skrip memerlukan penambahan UTF-8 BOM (Byte Order Mark):

file_put_contents($myFile, "\xEF\xBB\xBF".  $content); 

Awalan ini memastikan bahawa fail dikenali sebagai UTF-8 yang dikodkan dan ditafsirkan dengan betul. Dengan pengubahsuaian ini, skrip akan menukar dan menyimpan fail dengan berkesan dalam format UTF-8, menyelesaikan percanggahan pengekodan.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Pengekodan UTF-8 untuk Penukaran Fail: Mengapa Menambah BOM Membuat Perbezaan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn