首頁 >後端開發 >php教程 >php向数据库插入数据乱码有关问题

php向数据库插入数据乱码有关问题

WBOY
WBOY原創
2016-06-13 10:13:28902瀏覽

php向数据库插入数据乱码问题

PHP code
<!--Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->book entry result<h1>book entry result</h1><?phpheader ("content-type:text/html;charset=utf-8");$isbn=$_POST['isbn'];$author=$_POST['author'];$title=$_POST['title'];$price=$_POST['price'];if(!($isbn||$author||$title||$price)){    echo"请确认每行都输入数据";    exit;}if(!get_magic_quotes_gpc()){    $isbn=addslashes($isbn);    $author=addslashes($author);    $title=addslashes($title);    $price=addslashes($price);}mysql_query('set names utf8');@$db=new mysqli('localhost','root','root','books');if(mysqli_connect_error()){echo "链接数据库不成功";    exit;}header("content-type:text/html;charset=utf-8");$query="insert into books(isbn ,author ,title ,price)values('".$isbn."', '".$author."', '".$title."', '".$price."')";$result=$db->query($query);if($result){echo $db->affected_rows." 本书数据录入成功。";}else{echo"数据录入失败。";}?>


我已经用header()把php页变成utf-8
数据库和表的的编码都是utf-8


------解决方案--------------------
探讨
mysql_query('set names utf8'); 和mysqli不搭调,应该是 $db->query('set names utf8');
你是在哪儿看到的插入的数据乱码的?phpmyadmin?

------解决方案--------------------
我以前遇到过程序编码正常,页面显示正常,唯独phpmyadmin中乱码的情况。那是phpmyadmin的配置没弄好,不过我也不知道怎么改。你可以写个简单的小程序把数据库内容读到页面显示看看
------解决方案--------------------
程序编码是不是有问题的。
------解决方案--------------------
应该先执行mysql_connnet(……),链接好数据库在执行mysql_query("set names utf-8");吧
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn