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的,也不是不可以~