php mysql汉字问题求解
input.php:
<?php
include 'conn.php';
echo "<link href=\"grade.css\" rel=\"stylesheet\" type=\"text/css\" />";
echo "<meta http-equiv=\"Content-Type\" content=\"textml; charset=utf-8\" />";
if($_POST['name'])
{
$query=mysql_query('select * from `qz_83_1` where name=\'' . $_POST[name] .'\'');
if(mysql_num_rows($query)!=0)
{
die( '数据已存在!');
}
$amount=$_POST[Chinese]+$_POST[Math]+$_POST[English]+$_POST[Politics]+$_POST[History]+$_POST[Geography]+$_POST[Biology]+$_POST[Physics]+$_POST[Chemistry];
$sql="insert into `qz_83_1` (name,id,Chinese,Math,English,Politics,History,Geography,Biology,Physics,Chemistry,Amount) values ('$_POST[name]','$_POST[id]','$_POST[Chinese]','$_POST[Math]','$_POST[English]','$_POST[Politics]','$_POST[History]','$_POST[Geography]','$_POST[Biology]','$_POST[Physics]','$_POST[Chemistry]','$amount')";
echo $sql;
if(mysql_query($sql))
{
echo "<center><p class='sd'>录入成功!</p></center>";
}
}
?>
conn.php:
<?php
$conn=mysql_connect('127.0.0.1','root','');
mysql_select_db('grade',$conn);
mysql_query("set names 'GBK'");
?>
这样插入数据如果是汉字,为什么不能正常显示?
答案:因为你的页面 有输出。。 即然是有输出。。 那么就要考虑下输出的文字编码问题。。 如果网页里面 没有指定文件编码 默认就为 GBK 而PHP 输出后为UTF8所以显示乱码很正常
解决方法用 HEADER函数来输出一个UTF8的文件头。。 具体用法自己 查查HEADER函数吧。。
其他:id不能用汉字的吧? 网页编码也要GBK
数据库结构也要GBK
最后set names ‘GBK’这个不需要引号
mysql_query("set names GBK");
上一个:mysql创建数据库问题!
下一个:mysql怎么自动获取时间