Penyelesaian muktamad kepada paparan data yang bercelaru dalam operasi pangkalan data PHP
Sambungan php ke mysql bercelaru semasa proses pembangunan Ini adalah masalah yang sering dihadapi oleh orang baru dalam pembangunan. Berdasarkan masalah sebenar yang dihadapi oleh semua orang, masalah watak bercelaru telah diringkaskan kepada 9 perkara utama untuk menyelesaikan sepenuhnya masalah watak bercelaru selepas sambungan.
Idea teras untuk menyelesaikan masalah aksara bercelaru ialah: pengekodan mesti disatukan dalam berbilang sistem fail yang berbeza.
9 perkara ini ialah:
1.pengekodan html konsisten dengan pengekodan MySQL
2.Pengekodan PHP adalah konsisten dengan pengekodan MySQL
3. Jika Jika terdapat pengepala untuk menghantar set aksara, sila gunakan set aksara yang sama seperti pangkalan data
4.<meta http-equiv="Content-Type" content="text/html; charset=utf -8" /> Untuk konsisten dengan halaman Pengekodan teks hendaklah konsisten
5. Set aksara untuk pembinaan pangkalan data hendaklah disatukan
6. Set aksara jadual hendaklah disatukan
7. Set aksara lajur hendaklah disatukan (jadual Jika ditetapkan, lajur akan ditulis ke dalam jadual secara lalai)
8. Set aksara untuk sambungan dan pengesahan mesti bersatu
9. Set aksara bagi set hasil mesti bersatu
1. Pengekodan fail
Pengekodan daripada fail html dan PHP, dalam contoh: gunakan notepad++ untuk menunjukkan. Tetapkan kedua-dua PHP dan html kepada set aksara ini.
Pastikan anda menetapkannya kepada utf-8 tanpa format BOM.
2. Pengekodan pengepala
Jika terdapat pengepala dalam php, ia mestilah utf-8
header('content-type:text/html;charset=utf-8');
3. Pengekodan fail pengepala halaman web
Jika pengekodan fail html ialah utf-8, ia juga mesti ditetapkan kepada satu
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" / >
4 Pengekodan untuk mencipta pangkalan data
5 dan penciptaan lajur Jadual ialah utf-8
6 Sambungan, keputusan, tetapan set aksara pengesahan
Gunakan mysqli_set_charset('utf8') ke Aksara MySQL tetapkan tetapan untuk sambungan, keputusan dan pengesahan.
Nota: Pengisytiharan set aksara pangkalan data berbeza sedikit daripada yang terdapat dalam fail. UTF8 adalah untuk pangkalan data MySQL, dan UTF-8 digunakan dalam fail.