Heim >Backend-Entwicklung >PHP-Tutorial > php向数据库插入数据乱码有关问题

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

WBOY
WBOYOriginal
2016-06-13 13:42:52972Durchsuche

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

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->


book entry result




<h1>book entry result</h1>
<?php header("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");吧
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn