如何解决php echo乱码问题

  • 来源:网络
  • 更新日期:2020-11-05

摘要:php echo乱码是因为编码出现问题,其解决办法就是在php的echo前面加入语句如“header(“Content-Type:text/html;charset=gb2312”);”即可。推荐:《PHP视频教程》php echo中文

php echo乱码是因为编码出现问题,其解决办法就是在php的echo前面加入语句如“header(“Content-Type:text/html;charset=gb2312”);”即可。

推荐:《PHP视频教程》

php echo中文乱码问题

用echo输出的中文显示成乱码,

其实应该是各种服务器脚本都会遇到这个问题,

根本还是编码问题,

一般来说出于编码兼容考虑大多的页面都将页面字符集定义为utf-8

这时候要正常显示中文需要转化一下编码方式,比如

echo iconv(“GB2312”,”UTF-8”,’中文’);就不会乱码了

还有其他方法,比如

在php的echo前面加入header(“Content-Type:text/html;charset=gb2312”);

当然简体中文页面也可以干脆地,

把中的UTF-8改成gb2312

同时附上php查询数据库的代码操作

<?php
header("Content-Type:text/html;charset=gb2312");
//设置页面字符集
$conn=mysql_connect("localhost", "root", "****");
//****为mysql密码
mysql_select_db("world");
mysql_query("set names utf8");
$sql="select * from city order by population desc";
$res=mysql_query($sql);
echo "<h1>城市信息一览表</h1>";
echo "<table width='1000px'>";
echo "<tr>";
echo "<td>id</td><td>name</td><td>countrycode</td><td>district</td><td>population</td>";
echo "</tr>";
while($row=mysql_fetch_assoc($res)){
    echo "<tr>";
    echo "<td>{$row['ID']}</td><td>{$row['Name']}</td><td>{$row['CountryCode']}</td><td>{$row['District']}</td><td>{$row['Population']}</td>";
    echo "</tr>";
}
echo "</table>";
mysql_close($conn);
?>