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教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。