Dengan aplikasi bahasa PHP yang meluas dalam pembangunan, semakin ramai pembangun telah menghadapi situasi di mana phpexcel mengeluarkan aksara yang bercelaru. Jangan panik apabila menghadapi masalah seperti ini Artikel ini akan memperkenalkan kepada anda sebab-sebab dan penyelesaian untuk aksara bercelaru dalam phpexcel.
1. Sebab aksara bercelaru
Tetapan pengekodan fail phpexcel tidak konsisten dengan pengekodan persekitaran setempat, mengakibatkan dalam fail Excel yang dijana ialah Aksara Cina bercelaru. Masalah pengekodan biasa ialah format pengekodan sel Excel ialah format UTF-8, manakala output format pengekodan ke halaman ialah format GB2312.
Fon tertentu digunakan dalam fail Excel, dan fon tidak dipasang pada pelayan di mana Excel dijana, kemudian aksara Cina bagi fail Excel yang dijana akan menjadi lalai Menggunakan fon lain menyebabkan aksara Cina bercelaru.
Pustaka phpexcel mempunyai keperluan tertentu untuk versi PHP Jika versi PHP lebih rendah daripada 5.2.x, aksara Cina juga akan muncul dalam Fail Excel dijana oleh phpexcel aksara. Oleh itu, sebelum menggunakan phpexcel, anda perlu menyemak sama ada versi PHP pada pelayan memenuhi keperluan.
2. Penyelesaian
Untuk masalah pengekodan, anda boleh menukar output fail Excel dengan phpexcel ke dalam format UTF-8 untuk mengelakkan The masalah aksara Cina bercelaru. Kaedah khusus adalah seperti berikut:
$objWriter->setUseBOM(true); $objWriter->setCharset("UTF-8"); $objWriter->setEnclosure("");
Antaranya, kaedah setUseBom menunjukkan sama ada untuk menambah pengepala BOM dalam dokumen Excel, kaedah setCharset menunjukkan menetapkan format pengekodan dokumen dan kaedah setEnclosure menunjukkan gaya tanda petikan bagi segmen data Adalah disyorkan untuk menetapkannya kepada rentetan aksara nol.
Untuk isu fon, kami perlu memasang fon yang hilang pada bahagian pelayan. Jika pemasangan fon tidak praktikal, anda juga boleh mengubah suai fon dalam jadual Excel kepada fon yang telah dipasang pada pelayan Walaupun kaedah ini tidak sempurna, ia juga boleh mengurangkan masalah aksara yang bercelaru.
Kod khusus adalah seperti berikut:
$excel->getDefaultStyle()->getFont()->setName('黑体');
Jika versi PHP terlalu rendah, anda boleh cuba menaik taraf versi PHP, ini juga akan berfungsi Selesaikan masalah keluaran bercelaru dalam phpexcel.
Ringkasnya, masalah aksara bercelaru dalam phpexcel boleh diselesaikan dari pelbagai aspek seperti pengekodan dan fon, dan penyelesaian yang berbeza juga boleh digunakan dalam kombinasi. Selagi kami menganalisis dengan teliti punca masalah kod bercelaru dan menggunakan pelbagai penyelesaian secara menyeluruh, kami akan dapat dengan cekap dan cepat menghapuskan masalah phpexcel mengeluarkan kod bercelaru.
Atas ialah kandungan terperinci Menganalisis punca dan penyelesaian aksara bercelaru dalam phpexcel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!