PHP+wamp在浏览器输出MySQL数据库表中文乱码

首先先要对数据库和表进行设置
(1)数据库设置
我所使用的是navicat premium 15 该数据库默认的字符集是Latin,需要我们改成utf-8,如下图。
在这里插入图片描述
(2)对表进行设置
将中文字段字符集设置成utf-8(字段字符集尽量都同意,我设置的都是utf-8。
在这里插入图片描述
(3)下一步就是对代码进行修改
第一种方法,就是极为普遍的在PHP下面添加header(“Content-Type: text/html; charset=UTF-8”);

第二种方法,就是在你连接数据库所创建的链接后面添加
$conn->query(“SET NAMES utf8”);

下面是我的代码

<html>
<head>
    <title>浏览表中记录</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<center>
    <?php
    include('connect.php');
   mysqli_set_charset($con,'utf-8');
    error_reporting(E_ALL & ~E_NOTICE);
    $con->query("SET NAMES utf8");
    $sql="select * from student";
  `在这里插入代码片`  $result=mysqli_query($con,$sql);
    echo "<table border=1>";     //使用表格格式化数据
    echo "<><td>学号</td>
          <td>姓名</td>
          <td>性别</td>
          <td>年龄</td>
          <td>专业</td>
          <td>电话</td>
          <td>密码</td></tr>";
    while(    $row = mysqli_fetch_assoc($result))  //遍历SQL语句执行结果把值赋给数组
    {
        echo "<tr>";
        echo "<td>".$row['Sno']."</td>";   
        echo "<td>".$row['Sname']." </td>";  
        echo "<td>".$row['Ssex']." </td>";   
        echo "<td>".$row['Sage']." </td>";  
        echo "<td>".$row['Sdept']." </td>";
        echo "<td>".$row['Sphone']." </td>";
        echo "<td>".$row['password']." </td>"; 
        echo "</tr>";
    }
    echo "</table>";
    ?>
</center>
</body>
</html>

connect.php

<?php
$server="localhost";//主机
$db_username="root";//你的数据库用户名
$db_password="3575149008";//你的数据库密码
$h_db = 'test';
$con = mysqli_connect($server,$db_username,$db_password,$h_db);//链接数据库

if(!$con){
    die("can't connect".mysql_error());//如果链接失败输出错误
}

我的是在用了第二种方法后汉字才不乱码
使用前
在这里插入图片描述
使用后
在这里插入图片描述
以上就是我的分享,如有更多解决方法,希望在评论下分享,
这是我第一次写文章,如有不足之处请指正。

展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 1024 设计师: 上身试试
应支付0元
点击重新获取
扫码支付

支付成功即可阅读