微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何解决php insert mysql乱码问题

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教程

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

相关推荐