Rumah >pangkalan data >tutorial mysql >Bagaimana untuk menyelesaikan hasil pertanyaan mysql php yang menunjukkan aksara bercelaru
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!