当前位置:数据库 > MySQL >>

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怎么自动获取时间

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,