[请益] 读取数据库显示中文

楼主: c182796378 (似曾相似)   2018-01-06 02:52:49
如题,已爬过许多文章,尝试了很多方式
读取数据库资料,显示出来的中文都变成了问号QQ
以下为程式码:
<?php
//fetch.php
header('Content-Type: text/html; charset=utf-8');
$connect = mysqli_connect("localhost", "root", "12345678", "contact");
mysql_query("SET NAMES 'utf-8'");
mysql_query("SET CHARACTER_SET_CLIENT='utf-8'");
mysql_query("SET CHARACTER_SET_RESULTS='utf-8'");
$output = '';
if(isset($_POST["query"]))
{
$search = mysqli_real_escape_string($connect, $_POST["query"]);
$query = "
SELECT * FROM contact
WHERE name LIKE '%".$search."%'
OR gender LIKE '%".$search."%'
OR phone LIKE '%".$search."%'
OR mobile LIKE '%".$search."%'
";
}
else
{
$query = "
SELECT * FROM contact ORDER BY name
";
}
$result = mysqli_query($connect, $query);
if(mysqli_num_rows($result) > 0)
{
$output .= '
<div class="table-responsive">
<table class="table table bordered">
<tr>
<table width="805" height="75" border="0" id="test" border: solid #0
00
<tr bgcolor="#A9D6EB">
<th>C_name</th>
<th>C_id</th>
<th>C_phone</th>
<th>C_staus</th>
</tr>
';
while($row = mysqli_fetch_array($result))
{
$output .= '
<tr>
<td>'.$row["name"].'</td>
<td>'.$row["gender"].'</td>
<td>'.$row["phone"].'</td>
<td>'.$row["mobile"].'</td>
</tr>
' ;
}
echo $output;
}
else
{
echo 'Data Not Found';
}
?>
以下为网页显示画面跟PHPmyadmin:
https://imgur.com/a/jqmBo
https://imgur.com/a/u4ZkE
先谢谢各位大大了~
作者: a0960330 (ViperLiu)   2018-01-06 10:03:00
你的HTML没有 charset=utf-8 ?
作者: tkdmaf (皮皮快跑)   2018-01-06 13:23:00
这么多内容的code是多余的,在问问题时应该要缩小范围你的问题既然是编码,只要最低限度的测试输出结果然后你并没有告知你数据库的编码结构数据库方面还有数据库编码,资料表编码………
作者: wbc319 (哈利)   2018-01-06 13:51:00
直接连结数据库 echo 中文那里...出来的也是问号吗?("SET NAMES 'utf-8'"); 是少一个=吗?
作者: JohnRoyer (Zero 日落)   2018-01-06 15:58:00
Study-Area 之前有篇文章有详细的设定,可以参考https://goo.gl/d9TGKd
作者: fezexp9987 (CCC)   2018-01-06 18:05:00
话说 mysqli和mysql能混著用@@?不过印象中没有 - 不知道多了行不行 SET NAMES UTF8
作者: a0960330 (ViperLiu)   2018-01-06 21:31:00
mysqli跟mysql应该不能混著用吧......会不会是你用mysqli连接数据库,可是你却用mysql设定utf8
作者: gpmm (银色)   2018-01-06 23:11:00
你资料表的语系是?
作者: hiigara (石头)   2018-01-06 23:16:00
phpmyadmin 里面下个 show create table customer_data然后把结果印出来给大家看看等等,mysql 的编码定义应该是 utf8 而不是 utf-8?utf8 或 utf8mb4(大部分的表情符号要后者才会动)https://imgur.com/Cf0Qhgz
作者: crazwade (crazwade)   2018-01-08 16:18:00
数据库的字段好像也要设编码
作者: MOONRAKER (㊣牛鹤鳗毛人)   2018-01-08 16:33:00
整个数据库编码设对就不用逐个设啦

Links booklink

Contact Us: admin [ a t ] ucptt.com