PHP 文件编码不一致导致的乱码怎么解决?

比如有两个文件,一个HTML文件编码是GBK2312,一个PHP文件是UTF-8

index.html(GB2312编码)


    
            
    

跳转


b.php(UTF-8编码)

 128) {
            if (($c > 247)) return false;
            elseif ($c > 239) $bytes = 4;
            elseif ($c > 223) $bytes = 3;
            elseif ($c > 191) $bytes = 2;
            else return false;
            if (($i + $bytes) > $len) return false;
            while ($bytes > 1) {
                $i++;
                $b = ord($str[$i]);
                if ($b < 128 || $b > 191) return false;
                $bytes--;
            }
        }
    }
    return true;
}

$name=$_GET['name'];

//注释的地方
//if(is_utf8($name)==false) {
//    $name = mb_convert_encoding($name, 'UTF-8', 'gb2312');//gb2312转UTF-8
//}

echo $name;

目前运行代码,从index.html 点跳转会显示乱码
在这里插入图片描述

我们把注释的地方给展开,把gb2312的编码转成utf8,则显示正确的中文。所以我们在开发过程中需要保持编码一致。

你可能感兴趣的:(PHP,PHP,编码,编码不一致,utf8)