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); ?>