我在控制器的操作方法里面加上这句话也没用 如果不用框架 用PDO输出的中文就不是乱码 如果在控制器里面直接echo一段中文输出到前端这样也不是乱码 这是为什么?
header("Content-Type:text/html; charset=utf-8");
我在控制器的操作方法里面加上这句话也没用 如果不用框架 用PDO输出的中文就不是乱码 如果在控制器里面直接echo一段中文输出到前端这样也不是乱码 这是为什么?
header("Content-Type:text/html; charset=utf-8");
header("Content-Type:text/html; charset=utf-8");
这句话定义的是你们的PHP文件输出的编码,而没有定义HTML文件的浏览器编码,也就是模版
出现这个情况是因为你的开发程序未进行html编码的定义,而你的浏览器的默认编码不统一,才会输出乱码,解决方案:
1、将浏览器的默认编码进行修改为程序的默认编码(临时解决方案)
2、在TP的程序的输出的前面加上一个HTML Header输出
echo "<meta http-equiv='Content-Type'' content='text/html; charset=utf-8'>";
然后,在访问你的echo 出来的中文内容基本不会乱码了
数据是从哪里来的?数据库还是直接写在php文件里的?
如果是数据库的话 检查一下数据库、数据表、字段的编码。如果是文件 把文件转成utf-8的试下。