帮我看看简单php乱码原因,无语!
1.打开EditPlus
2.新建一个空白php文件
3.写入
<?php
echo "很好";
?>
4.保存为utf-8格式
5.访问刚刚的页面输出
寰堝ソ,直接是乱码。
据我知道的原因是:应该保存成
utf-8+BOM格式,才能显示中文。
现在问题来了:
1.从我学php开始就知道php要保存成utf-8无BOM模式,好像一起没出什么中文乱码问题?
2.我查看了一些cms,框架的php文件,全部是utf-8无BOM模式,他们是怎么回避上面的无BOM模式中文乱码问题的?
------解决方案--------------------1、如果你要保存为utf-8编码,则肯定要去除bom头。
2、原理是这样,具体还要看需求吧。
------解决方案--------------------
可以这样理解,设定的header编码还要跟你输出的编码一致
------解决方案--------------------这是我刚开始学习时,总结为(三码为一),每次一乱码,我就背这三码,保治网页乱码,
1.文档流:header("Content-type:text/html;charset=utf-8");
2.数据库:$pdo->query(‘SET NAMES UTF8’);
3.PHP脚本文件:utf-8无BOM格式。
以后做php_cli时会遇到不周解决办法,就不能用utf-8了,要用ansi,先记住就好。