首頁  >  文章  >  後端開發  >  如何解決php insert mysql亂碼問題

如何解決php insert mysql亂碼問題

藏色散人
藏色散人原創
2021-12-27 09:41:342594瀏覽

php insert mysql亂碼的解決方法:1、將php頁面儲存為UTF-8的編碼格式;2、用UTF8格式進行資料提交;3、在資料庫中設定「ENGINE=MyISAM DEFAULT CHARSET= utf8;」。

如何解決php insert mysql亂碼問題

本文操作環境: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn