php不能往mysql数据库添加汉字,只能添加字母和数字

php不能往mysql数据库添加汉字,只能添加字母和数字,第1张

php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法。

解决中文插入数据库乱码的方法:

直接把中文转变成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就行了。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11973465.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-20
下一篇 2023-05-20

发表评论

登录后才能评论

评论列表(0条)

保存