你要保证你程序中指定的数据库编码和数据库本身的编码是一致的,
CREATE TABLE test (
+pid+ int(11) NOT NULL AUTO_INCREMENT,
+recorddate+ datetime NOT NULL,
PRIMARY KEY (+pid+)
建表的时候指定编码和字符集,一般就不会有问题了.
记住,上面的字符集是个标准,以后所有地方都要使用这个字符集合,有哪些地方呢:
第一段:DOS命令行的mysql里面,首先执行命令set names 字符集,要跟这个一样.
第二段:PHP文件也是的,mysql_connect之后,立即就mysql_query('set names ~')
第三段:PHP文件也要使用这样的编码,否则你文件里面写的INSERT语句插入的汉字会是乱码
第四段:浏览器打开你的网页,也要选择相同的编码方式,否则页面上会是乱码.
php+mysql数据时我们必须保证提交到数据库的编码与mysql编码是一致的这样才可以保存中文不出现问号乱码问题,下面我先整理两个让mysql与页面保证编码一致的方法.
解决中文插入数据库乱码的方法:
代码如下复制代码
$str
=
如果还不行检查网页编码是否正确:
php
建表:
Create
TABLE
+net_city+
(
+cityid+
NOT
NULL
auto_increment,
+cityname+
default
'',
+provinceid+
'0',
+inarea+
+outarea+
+tel+
PRIMARY
KEY
(+cityid+)
)
ENGINE=MyISAM
DEFAULT
PHP里的代码:
$conn=mysql_connect("localhost",
"用户名",
"密码");
mysql_query("set
names
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{
"0";
}
mysql_close($conn);
后来我试了试全部都用成gbk的,也是可以的~
在查询数据时我们直接使用mysql_query()来设置
mysql_query("SET
NAMES
GBK");
//GBK处为编码设置
例子
下面是
"insert.php"
页面的代码:
php$con
if
(!$con)
{
die('Could
not
connect:
'
.
mysql_error());
mysql_select_db("my_db",
$con);
$sql="INSERT
INTO
person
(FirstName,
LastName,
Age)VALUES('$_POST[firstname]','$_POST[lastname]','$_POST[age]')";
(!mysql_query($sql,$con))
die('Error:
record
added";
mysql_close($con)
PHP与数据库的编码应一致
[mysql]
[mysqld]
default-storage-engine=MyISAM
在[mysqld]下加入:
以上就是土嘎嘎小编为大家整理的php数据库怎么输中文相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!