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!