首先先要对数据库和表进行设置
(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());//如果链接失败输出错误
}
我的是在用了第二种方法后汉字才不乱码
使用前
使用后
以上就是我的分享,如有更多解决方法,希望在评论下分享,
这是我第一次写文章,如有不足之处请指正。