Memastikan Keserasian Excel untuk UTF-8 CSV Output dalam PHP
Walaupun menggunakan UTF-8 untuk eksport CSV adalah penting untuk pengekodan aksara yang betul, pengguna sering menghadapi masalah apabila mengimport fail tersebut ke dalam Microsoft Excel. Untuk menangani isu ini, adalah penting untuk memahami pengendalian fail CSV UTF-8 oleh Excel.
Penyelesaian terletak pada memasukkan Tanda Pesanan Bait (BOM) pada permulaan fail CSV. BOM ialah jujukan tiga bait yang mengenal pasti pengekodan aksara UTF-8. Dengan menggabungkannya, Excel boleh mentafsir fail dengan betul sebagai UTF-8, membolehkan paparan dan tafsiran aksara khas yang betul.
Untuk memasukkan BOM, ubah suai kod PHP anda seperti berikut:
header('Content-type: text/csv; charset=UTF-8'); header('Content-Disposition: attachment; filename=CHS.csv'); echo "\xEF\xBB\xBF"; // UTF-8 BOM
BOM boleh ditambah sebagai rentetan literal, seperti yang ditunjukkan di atas, atau dijana secara dinamik menggunakan pack() fungsi:
$bom = pack("CCC", 0xef, 0xbb, 0xbf); echo $bom;
Dengan menambahkan BOM pada output CSV anda, anda memastikan Excel mentafsir pengekodan aksara fail dengan betul dan memaparkan aksara khas dengan betul. Penyelesaian ini telah dilaporkan berfungsi dalam Excel 2007 untuk Windows dan mungkin juga digunakan untuk Excel untuk Mac OS.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Fail CSV UTF-8 Dijana PHP Saya Serasi dengan Microsoft Excel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!