1. Pengekodan aksara tidak konsisten
Set aksara lalai apabila MySQL dipasang ialah latin1, dan banyak tapak web menggunakan pengekodan UTF-8, yang boleh menyebabkan pertanyaan Hasilnya adalah watak yang kacau. Anda boleh menggunakan arahan berikut untuk mengubah suai pengekodan MySQL:
ALTER DATABASE your_database_name CHARACTER SET utf8; ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8;
di mana your_database_name
dan your_table_name
digantikan dengan pangkalan data anda dan nama jadual data masing-masing.
2. Pangkalan data dan pengekodan halaman tidak konsisten
Mewujudkan sambungan pangkalan data tanpa menyatakan set aksara boleh menyebabkan keputusan pertanyaan menggunakan set aksara yang berbeza dan akhirnya kelihatan bercelaru . Anda boleh menggunakan arahan berikut untuk menentukan set aksara semasa menyambung:
mysqli_set_charset($link, 'utf8');
dengan $link
ialah nama pembolehubah sambungan pangkalan data, yang harus diubah suai mengikut situasi sebenar.
3. Versi PHP tidak serasi
Dalam PHP5.5 dan ke bawah, fungsi mysql_
ditinggalkan dan disyorkan untuk menggunakan mysqli_
atau PDO
fungsi. Jika anda menggunakan fungsi mysql_
dan berjalan dalam PHP7 atau lebih tinggi, hasil pertanyaan mungkin bercelaru. Adalah disyorkan untuk menaik taraf kepada fungsi mysqli_
atau PDO
.
4. Tukar set aksara
Gunakan fungsi iconv()
dalam PHP untuk menukar aksara daripada satu pengekodan kepada pengekodan yang lain. Contohnya, tukar pengekodan GBK kepada pengekodan UTF-8:
$content = iconv('GBK', 'UTF-8', $content);
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan hasil pertanyaan mysql php yang menunjukkan aksara bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!