Semasa proses pembangunan laman web, anda mungkin menghadapi masalah aksara bercelaru semasa mengeluarkan halaman web. Masalah ini biasanya disebabkan oleh format pengekodan yang tidak konsisten atau ralat pengekodan. Artikel ini akan memperkenalkan beberapa penyelesaian biasa.
Apabila mula menyelesaikan masalah, anda perlu mengesahkan sama ada format pengekodan kod sumber adalah betul. Dalam editor yang menyokong berbilang format pengekodan, kadangkala kami mungkin secara tidak sengaja menetapkan format pengekodan dengan tidak betul. Ini dengan mudah boleh menyebabkan halaman web output menjadi kacau.
Untuk halaman PHP, anda boleh menetapkan format pengekodan dalam pengepala halaman:
header("Content-type:text/html;charset=utf-8");
Kod di atas akan menetapkan format pengekodan halaman kepada format utf-8. Format pengekodan juga boleh diubah mengikut keperluan sebenar.
Jika data dalam halaman web datang daripada pangkalan data, maka kami juga perlu mengesahkan sama ada format pengekodan pangkalan data adalah betul . Begitu juga, dalam pangkalan data dengan berbilang format pengekodan, jika format pengekodan ditetapkan dengan tidak betul, kandungan output juga akan bercelaru.
Kami boleh menanyakan format pengekodan pangkalan data semasa dengan melaksanakan arahan SQL berikut:
show variables like '%char%';
Cari character_set_database
dalam hasil output untuk menyemak sama ada format pengekodan pangkalan data semasa adalah betul .
Jika format pengekodan pangkalan data salah, kami boleh melaksanakan perintah SQL berikut untuk mengubah suainya:
ALTER DATABASE <database_name> CHARACTER SET utf8;
Kod di atas menggantikan <database_name>
dengan nama pangkalan data sebenar dan menukar format pengekodan pangkalan data kepada utf-8 format Bersatu.
Sebagai tambahan kepada kod sumber dan format pengekodan pangkalan data, konfigurasi pelayan web juga boleh menyebabkan masalah keluaran bercelaru, terutamanya pelayan Apache.
Jika menggunakan pelayan Apache, kami boleh menambah pernyataan berikut dalam httpd.conf
fail konfigurasi:
AddDefaultCharset utf-8
Kod di atas akan menetapkan format pengekodan lalai pelayan Apache kepada utf-8.
Jika menggunakan pelayan Nginx, kami boleh menambah pernyataan berikut dalam fail konfigurasi:
http { charset utf-8; ... }
Kod di atas akan menetapkan format pengekodan lalai pelayan Nginx kepada utf-8.
Penyelesaian biasa ini biasanya boleh menghapuskan masalah output halaman web yang bercelaru. Perlu diingatkan bahawa penyelesaian mungkin berbeza dalam persekitaran yang berbeza, dan kita perlu memilih kaedah yang sesuai mengikut situasi sebenar.
Atas ialah kandungan terperinci PHP mengeluarkan halaman web dengan aksara yang bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!