> 백엔드 개발 > PHP 튜토리얼 > php向数据库插入数据乱码有关问题

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

WBOY
풀어 주다: 2016-06-13 13:42:52
원래의
971명이 탐색했습니다.

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");吧
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿