Apabila menggunakan PHP untuk menulis ke pangkalan data MySQL, kadangkala anda akan menghadapi aksara yang bercelaru selepas data dimasukkan. Mungkin terdapat banyak sebab untuk aksara bercelaru, seperti set aksara tidak padan, set aksara bukan UTF-8, set aksara sambungan pangkalan data, dsb. Mari analisa kemungkinan punca watak bercelaru ini dan berikan beberapa penyelesaian.
1. Set aksara tidak sepadan
Apabila kod PHP menggunakan set aksara yang berbeza daripada set aksara lalai pangkalan data MySQL, aksara bercelaru mungkin berlaku.
Penyelesaian: Gunakan perintah MySQL SET NAMES dalam kod untuk memaksa set aksara ditentukan. Contohnya:
mysql_query("SET NAMES 'utf8'");
2. Set aksara bukan UTF-8
Jika kod PHP menggunakan set aksara bukan UTF-8, tetapi pangkalan data dan jadual MySQL menggunakan UTF -8 set aksara , masalah kod bercelaru mungkin berlaku.
Penyelesaian: Tetapkan set aksara kedua-dua kod PHP dan pangkalan data MySQL serta jadual kepada UTF-8.
3. Set aksara sambungan pangkalan data
Apabila membuat sambungan pangkalan data, jika set aksara sambungan tidak dinyatakan secara eksplisit, set aksara lalai MySQL akan digunakan, mengakibatkan aksara bercelaru.
Penyelesaian: Apabila menyambung ke pangkalan data, gunakan fungsi mysqli_set_charset() untuk menentukan set aksara sambungan secara manual. Contohnya:
$mysqli = new mysqli("localhost", "username", "password", "database"); $mysqli->set_charset("utf8");
4. Masalah penyerahan borang bahagian hadapan
Kadangkala aksara bercelaru mungkin muncul kerana set aksara tidak dinyatakan apabila borang bahagian hadapan diserahkan, mengakibatkan aksara tetapkan ketidakpadanan.
Penyelesaian: Gunakan teg dalam pengepala HTML halaman hujung hadapan untuk menentukan set aksara, contohnya:
<meta charset="utf-8">
Ringkasan
Apabila menghadapi penulisan PHP ke MySQL Jika masalah aksara bercelaru muncul kemudian, ia boleh disemak dan diselesaikan dari empat sudut di atas. Apabila menulis kod, kita harus mengikut prinsip set aksara bersatu untuk mengelakkan aksara bercelaru. Pada masa yang sama, anda juga harus menyemak berulang kali dalam aplikasi sebenar untuk memastikan bahawa data ditulis dengan betul ke dalam pangkalan data.
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan data bercelaru yang dimasukkan ke dalam mysql oleh php. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!