php中用utf8编码输出中文就是乱码
发布网友
发布时间:2022-04-24 18:28
我来回答
共4个回答
热心网友
时间:2022-04-06 06:10
1【数据库】->2【php代码文件】->3【浏览器】
假如【数据库】用utf8,php【代码文件】也用utf8,【浏览器】查看时也用utf8。那么恭喜你,不会出现乱码的问题。
而最容易出问题的就是:php【代码文件】
header("Content-Type: text/html; charset=utf-8");
echo "中文"; //此处的【中文】两个字的编码类型与文件编码类型相同。
echo iconv('gb2312', 'utf-8', '中文'); //此处则将【中文】两个字在【输出】时转换成了utf8,所以不会出现乱码了(假设用win记事本默认存储为gb2312)。
热心网友
时间:2022-04-06 07:28
说明这个php文件保存的编码是gb2312的,所以输出的是乱码
你把这个文件重新以u8的编码保存一下就行了,文件-》另存为,这里选择编码追问我用的是文本编辑器编写,请问如何改编码
追答文件-》另存为,然后选择编码
热心网友
时间:2022-04-06 09:03
header("Content-Type: text/html; charset=utf-8");
可以省略,因为在meta已经定义了。
乱码的原因是保存文件时,文件的编码与显示编码不一致,只要另存为一次就好了
热心网友
时间:2022-04-06 10:54
<?php
header("Content-Type: text/html; charset=utf-8");
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
</head>
<body>
<?php
echo "中文";
?>
</body>
</html>
------------------------------
这样就行了。
原因:header函数需要在页面输出之前使用,否则是不会生效的。