Penyelesaian kepada rentetan bercelaru yang dihantar oleh PHP ke pangkalan data MySQL: 1. Semak kaedah pengekodan pangkalan data melalui "tunjukkan pembolehubah seperti 'character%';" 2. Tetapkan melalui "set character_set_server = 'utf8'; ;" Hanya kodkannya sebagai utf8.
Persekitaran pengendalian tutorial ini: sistem Windows 10, PHP versi 8.1, komputer DELL G3
php menghantar aksara ke dalam pangkalan data mysql Apa yang perlu dilakukan jika rentetan aksara bercelaru muncul?
PHP memasukkan aksara Cina ke dalam pangkalan data mysql dan memaparkan aksara bercelaru
Aksara bercelaru adalah seperti berikut:
Penyelesaian
Lihat kaedah pengekodan Pangkalan Data:
//查询 show variables like 'character%'; //设置 set character_set_server = 'utf8';
Tetapkan pengekodan halaman HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Tetapan pengekodan fail PHP
//消息头部 header("Content-Type:text/html; charset=utf-8"); //数据库连接方式 $conn = new mysqli($servername,$username,$password,$dbname); mysqli_set_charset($conn,'UTF8'); //注意,下面这种方式不行!!! $conn = new mysqli($servername,$username,$password,$dbname); mysqli_query(“set names utf8”);
Pengenalan berkaitan :
UTF-8 (8-bit, Set Aksara Universal/Format Transformasi Unikod) ialah pengekodan aksara panjang boleh ubah untuk Unicode. Ia boleh digunakan untuk mewakili mana-mana aksara dalam standard Unicode, dan bait pertama dalam pengekodannya masih serasi dengan ASCII, supaya perisian asal yang memproses aksara ASCII boleh terus digunakan tanpa atau dengan hanya beberapa pengubahsuaian. Oleh itu, ia secara beransur-ansur menjadi pengekodan pilihan untuk e-mel, halaman web dan aplikasi lain yang menyimpan atau menghantar teks.
Pembelajaran yang disyorkan: "Tutorial Video PHP"
Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika php menghantar rentetan yang kacau kepada pangkalan data mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!