php 从mysql 数据库中,读取数据后,画图显示都是乱码

菜鸟一枚, 我用PHPGraphLib 画图,读出数据后:直接画图,可以出来如下code1:
include('phpgraphlib.php');
$graph = new PHPGraphLib(550,350); $data =array("19.505"=>41.45,"10.058"=>40,"6.096"=>38.83,"3.703"=>36.98);$graph->addData($data);$graph->setTitle('BitRate by Psnr');....
可是直接把数组赋给addData后,直接出乱码,请问这是什么问题呢,困挠好久。分数不多了,望帮忙。
while($row = mysql_fetch_array($rs)) { echo "<td>". $row['PsnrVal'] ."</td>"; //生成列和显示数据35. echo "<td>". $row['BitRateMbps'] ."</td>"; //生成列和显示数据35. $dataArray[$row['BitRateMbps']]=$row['PsnrVal']; }
$graph->addData($dataArray);
出现IHDR?^??'PLTE苘苋热ddd€€?0,汭DATx滍?v?徐)?べAgQE_?&J€攞噧隿?悈苡忂o脬燑?=殴为什么,大牛

第1个回答  2014-01-07
编码错误, 查询数据库时,记得改编码,例如mysql_query("set names utf8",$con);添加到查询
执行前,就可以了
第2个回答  2013-12-27
mysql_query("set names gbk;");
mysql_query("set names utf-8;");
试试
第3个回答  2013-12-26

客户端查询结果与服务器端的查询结果字符集不一至造成的。修改方法如下:

    查询mysql的客户端变化是什么?show variables like '%character%'; character_set_result和character_set_connect的字符集是什么,比如是utf8

    在PHP连接后,使用Set names utf8设置与mysql保持一致。

    再执行其它的查询,就不会出现乱码了。

追问

根据上面的修改后,还没有解决这个问题

追答

程序中,保持与mysql一致。
mysql_query("set names gbk;");mysql_query("set names utf-8;");

相似回答
大家正在搜