一.插入中文到数据库乱码
插入中文到数据库显示?号或者乱码,需要注意以下几点
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");
转载请注明:exchen's blog » php插入中文数据库乱码以及URL参数乱码