MySQL pada masa ini ialah sistem pengurusan pangkalan data hubungan arus perdana, tetapi semasa penggunaan, anda mungkin menghadapi hasil pertanyaan yang bercelaru. Sebab untuk pertanyaan aksara bercelaru secara amnya adalah seperti berikut:
- Ketakpadanan set aksara pangkalan data: Set aksara pangkalan data MySQL tidak ditetapkan dengan betul, sebagai contoh, set aksara GBK digunakan dan bukannya aksara UTF-8 ditetapkan untuk menyimpan data Mudah menyebabkan aksara bercelaru dalam hasil pertanyaan.
- Ralat tetapan pengekodan aplikasi: Ketidakkonsistenan antara set pengekodan dalam aplikasi dan set aksara pangkalan data MySQL juga akan menyebabkan hasil pertanyaan rosak.
- Ketakpadanan jenis medan: Jenis medan yang ditakrifkan dalam jadual tidak sepadan dengan jenis data yang disimpan sebenar dan hasil pertanyaan juga akan bercelaru.
Untuk masalah ini, kami boleh menyelesaikan masalah aksara pertanyaan bercelaru melalui kaedah berikut:
- Ubah suai set aksara pangkalan data MySQL: Anda boleh mengubah suai set aksara dalam fail konfigurasi MySQL Set (fail my.cnf), atau ubah suai set aksara pangkalan data, jadual, medan, dll. untuk menyelesaikan masalah ketidakpadanan set aksara pangkalan data.
- Ubah suai pengekodan aplikasi: Anda boleh menetapkan format pengekodan yang betul dalam aplikasi, seperti menggunakan format pengekodan UTF-8. Pada masa yang sama, apabila menggunakan penyambung data, anda juga perlu menetapkan format pengekodan yang betul.
- Ubah suai jenis medan: Semasa membuat jadual, sila pastikan jenis medan yang ditentukan sepadan dengan jenis data yang disimpan sebenar. Contohnya, jika bahasa Cina disimpan, tentukan jenis medan sebagai "varchar" atau "teks".
Selain itu, anda juga boleh menggunakan kaedah berikut untuk mengelakkan masalah aksara pertanyaan yang bercelaru:
- Gunakan arahan "set names utf8" dalam pernyataan pertanyaan untuk tukar pernyataan pertanyaan Tukar set aksara kepada UTF-8 untuk memastikan hasil pertanyaan yang betul.
- Gunakan arahan "tunjukkan pembolehubah seperti '%char%'" dalam klien MySQL untuk menyemak tetapan set aksara pangkalan data MySQL bagi memastikan set aksara itu konsisten dengan pengekodan yang akan ditanya.
- Gunakan fungsi "tukar" yang disediakan oleh MySQL untuk menukar hasil pertanyaan kepada set aksara yang ditentukan untuk mengelakkan aksara bercelaru.
Ringkasnya, menyelesaikan masalah pertanyaan MySQL yang bercelaru memerlukan kami bermula dari banyak aspek, mengubah suai dan menyesuaikan daripada pangkalan data, tetapan pengekodan aplikasi, jenis medan dan aspek lain untuk memastikan hasil pertanyaan Betul, tepat, tiada aksara bercelaru. Pada masa yang sama, semasa menanyakan data, anda juga harus menggunakan kaedah dan arahan yang betul untuk mengelakkan aksara bercelaru yang disebabkan oleh ketidakpadanan antara arahan pertanyaan dan set aksara.
Atas ialah kandungan terperinci mysql query kod bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!