PHP从mysql中读取的中文显示为问号或乱码

   

今天回复导航的时候发现,所有中文都变成??了,由于刚换了服务器,不确定是哪里有问题,写了个demo试试:

看这个样子,中文字符都变成了?,这是编码导致的,我导入数据库的时候特意吧编码改成utf8了,所以数据库肯定没问题,先看看是不是PHP代码的事,在配置完数据库连接语句之后,在查询函数中添加”set names ‘utf8′”

...
// 创建连接
$conn = new mysqli($servername, $username, $password, $dbname);
$conn->query("set names 'utf8'");
...

再次加载,有变化:

再加上网页编码设置

<?php
header("Content-Type: text/html; charset=utf-8");
...

在加载,搞定!

发表评论