Rumah >pembangunan bahagian belakang >masalah PHP >Bagaimana untuk menyelesaikan masalah php insert mysql bercelaru
Penyelesaian untuk memasukkan kod mysql yang kacau: 1. Simpan halaman php sebagai format pengekodan UTF-8 2. Hantar data dalam format UTF8 3. Tetapkan "ENGINE=MYISAM DEFAULT CHARSET= dalam pangkalan data utf8; ".
Persekitaran pengendalian artikel ini: sistem Windows 7, PHP versi 7.1, komputer Dell G3.
Bagaimana untuk menyelesaikan masalah php insert mysql bercelaru?
Penyelesaian kepada masalah aksara Cina bercelaru yang dimasukkan ke dalam pangkalan data mysql oleh PHP
Hari ini saya memasang semula sistem dan memasang semula persekitaran operasi PHP tanpa membayar terlalu banyak perhatian. Tulis sesuatu untuk disemak dan disemak... Apabila saya menggunakan INSERT INTO untuk menambah data pada jadual data, saya mendapati bahawa selagi data itu dalam bahasa Cina, ia dipaparkan dalam aksara yang bercelaru, jadi saya menetapkan bahasa dalam halaman web sebagai gbk dan mendapati ia masih tidak berfungsi Di Internet Selepas mencari untuk masa yang lama, saya membuat ringkasan:
halaman 1.php harus disimpan dalam format pengekodan UTF-8.
2.php mesti menggunakan UTF8 semasa menyerahkan data.
3. Apabila membuat jadual dalam MYSQL, gunakan ENGINE=MYISAM DEFAULT CHARSET=utf8;
Contoh (kerana saya terlalu malas untuk menulis, contoh di Internet ini terasa agak jelas):
Bina jadual:
Create TABLE `net_city` ( `cityid` smallint(4) NOT NULL auto_increment, `cityname` varchar(80) NOT NULL default '', `provinceid` smallint(2) NOT NULL default '0', `inarea` varchar(5000) NOT NULL default '', `outarea` varchar(5000) NOT NULL default '', `tel` varchar(400) NOT NULL default '', PRIMARY KEY (`cityid`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
Kod dalam PHP:
$conn=mysql_connect("localhost", "用户名", "密码"); mysql_query("set names 'utf8'",$conn); mysql_select_db("数据名",$conn); $exec="insert into net_city (cityname,inarea,outarea,tel) values ('".$link_cityname."','".$link_inarea."','".$link_outarea."','".$link_tel."')"; $result=mysql_query($exec,$conn); if($result){ echo "1"; }else{ echo "0"; } mysql_close($conn);
Kemudian saya cuba menggunakan gbk untuk semuanya, dan ia berjaya~
Disyorkan pembelajaran: "Tutorial Video PHP"
Atas ialah kandungan terperinci Bagaimana untuk menyelesaikan masalah php insert mysql bercelaru. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!