php插入中文数据库乱码以及URL参数乱码

一.插入中文到数据库乱码

插入中文到数据库显示?号或者乱码,需要注意以下几点

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);

 

二.URL传入中文参数乱码

http://192.168.0.19/testphp.php?test=我爱你

调用这个函数对编码进行转换即可解决

$link_cityname = mb_convert_encoding($_GET['test'], "UTF-8", "gb2312");

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值