如何解决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的,也是可以的~

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。