Home >Backend Development >PHP Tutorial >php向数据库插入数据乱码有关问题

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

WBOY
WBOYOriginal
2016-06-13 10:13:28897browse

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");吧
Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn