解决中文插入数据库乱码的方法:
直接把中文转变成utf-8格式,大多是这个问题导致的。
代码如下复制代码
$str = iconv('gbk','utf-8',$str)
如果还不行检查网页编码是否正确:
代码如下复制代码
<?php
header("Content-Type:text/htmlcharset=utf-8")
?>
建表:
代码如下复制代码
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(" www.111cn.net 数据名",$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的,也是可以的~
在查询数据时我们直接使用mysql_query()来设置
mysql_query("SET NAMES GBK") //GBK处为编码设置
例子
下面是 "insert.php" 页面的代码:
代码如下复制代码谨睁
<?php$con = mysql_connect("localhost","peter","abc123")
if (!$con) { die('Could not connect: ' . mysql_error())}
mysql_select_db("my_db", $con)
mysql_query("SET NAMES GBK") //GBK处为编码设置
$sql="INSERT INTO person (FirstName, LastName, Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')"
if (!mysql_query($sql,$con))
{ die('Error: ' . mysql_error())}
echo "1 record added"
mysql_close($con)
?>
应该是中文插入有乱码吧。判森首先确定创建的数据库的字符集为支持中文格式的:如UTF-8;
然后确保mysql客户端显没慎示字符集也掘察亩是UTF-8就行了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)