Rumah >pembangunan bahagian belakang >tutorial php >Bagaimanakah Saya Boleh Membetulkan Isu Pengekodan UTF-8 Apabila Mengeksport Fail CSV dalam PHP?
Masalah Pengekodan dengan Output CSV dalam PHP
Banyak aplikasi bergelut untuk mentafsir fail CSV yang dikodkan dalam UTF-8 dengan betul, termasuk Microsoft Excel. Walaupun menetapkan pengepala HTTP yang sesuai, Excel secara khusus gagal mengenali pengekodan UTF-8.
Untuk menyelesaikan isu ini, satu pendekatan adalah dengan memasukkan BOM (Byte Order Mark) pada permulaan output CSV. BOM mengenal pasti fail sebagai UTF-8 yang dikodkan, yang kemudiannya Excel boleh tafsirkan dengan betul.
Untuk menambah BOM pada fail CSV dalam PHP, gunakan kod berikut:
header('Content-type: text/csv; charset=UTF-8'); header('Content-Disposition: attachment; filename=Customers_Export.csv'); echo "\xEF\xBB\xBF"; // UTF-8 BOM
Ini kaedah telah dilaporkan berfungsi dalam Excel 2007 untuk Windows. Walau bagaimanapun, tidak jelas sama ada ia akan berjaya pada sistem pengendalian Mac.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Membetulkan Isu Pengekodan UTF-8 Apabila Mengeksport Fail CSV dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!