php insert mysql亂碼的解決方法:1、將php頁面儲存為UTF-8的編碼格式;2、用UTF8格式進行資料提交;3、在資料庫中設定「ENGINE=MyISAM DEFAULT CHARSET= utf8;」。
本文操作環境:Windows7系統,PHP7.1版,Dell G3電腦。
如何解決php insert mysql亂碼問題?
php插入到mysql資料庫中文亂碼問題解決
#今天重裝了系統重新安裝了PHP的運行環境,也沒注意太多,想寫點東西複習……當我用INSERT INTO想數據表裡添加數據的時候,發現數據只要是中文的都是以亂碼顯示的,於是我在網頁中規定了語言為gbk發現還是不行,在網上查了半天做了一下總結:
1.php頁面要儲存為UTF-8的編碼格式。
2.php在資料提交的是要用UTF8。
3.MYSQL建立表格的時候要用ENGINE=MyISAM DEFAULT CHARSET=utf8;
舉例(由於我懶得寫,網路上的這個範例感覺還挺清楚的):
建表:
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;
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);
後來我試了試全部都用成gbk的,也是可以的~
推薦學習: 《PHP影片教學》
以上是如何解決php insert mysql亂碼問題的詳細內容。更多資訊請關注PHP中文網其他相關文章!