您好,欢迎访问一九零五行业门户网

验证码乱码有关问题

验证码乱码问题
我写了一个验证码类,为了大家帮忙找错误,我把类的代码贴出来,编码格式gbk
mcheckcode = strtoupper(substr(md5(rand()),0,$this->mcheckcodenum));
  return $this->mcheckcode;
}
private function createimage()
{
  $this->mcheckimage = @imagecreate ($this->mcheckimagewidth,$this->mcheckimageheight);
  imagecolorallocate ($this->mcheckimage, 200, 200, 200);
  return $this->mcheckimage;
}
private function setdisturbcolor()
{
  for ($i=0;$i   {
  $this->mdisturbcolor = imagecolorallocate ($this->mcheckimage, rand(0,255), rand(0,255), rand(0,255));
  imagesetpixel($this->mcheckimage,rand(2,128),rand(2,38),$this->mdisturbcolor);
  }
}
public function setcheckimagewh($width,$height)
{
  if($width==''||$height=='')return false;
  $this->mcheckimagewidth = $width;
  $this->mcheckimageheight = $height;
  return true;
}
private function writecheckcodetoimage()
{
  for ($i=0;$imcheckcodenum;$i++)
  {
  $bg_color = imagecolorallocate ($this->mcheckimage, rand(0,255), rand(0,128), rand(0,255));
  $x = floor($this->mcheckimagewidth/$this->mcheckcodenum)*$i;
  $y = rand(0,$this->mcheckimageheight-15);
  imagechar ($this->mcheckimage, 5, $x, $y, $this->mcheckcode[$i], $bg_color);
  }
}
public function outcheckimage()
{
  $this ->createcheckcode();
  $this ->createimage();
  $this ->setdisturbcolor();
  $this ->writecheckcodetoimage();
  imagepng($this->mcheckimage);
  imagedestroy($this->mcheckimage);
}
}
?>
在此页面内 定义输出
$c_check_code_image = new checkcode();
$c_check_code_image ->outcheckimage();
都完全正常,正常显示一个验证码
但是我新建一个php页面,把include这个类之后,放上上面两句代码就出现乱码了,错误代码提示warning: cannot modify header information - headers already sent by (output started at e:\www\hsreport\check_code.php:1) in e:\www\hsreport\class\checkcode.class.php on line 2
塒ng ihdrp- j?昉lte热揉с榁番l分?栖涡簐?$趕峣芧哻8哅焲m'?y?6e 4??5&?螛浿劮h肫责╗xw`[??*岝#釵擝錕沇 7坯d窈鴧^i%篥m8?a峾?>'祋摢i8ovo?wiag&攂丬 ub釂u?嵤]迭嬙讣&,,a|t?,笞[敱? ?初o缽c俁?4eg鞽哮|繸爐ll驆h!倪?.?>e?)?埳3塝?醄mcq?濖鉎h幝-/儎?-x酟茴?殶揃ue^?qjr%? g尗?xu/脥t駊佘a踎,7-聻? 蓲遥jy l.d1/噥?.[email protected]( ?#檱臔4箐pg ? 洜葵0@~i捦?貝?&?
?$6? 蓅 葽?曤dk鼈so〧ɑiend瓸`
放到登录页面也是一样,请教,救命啊
------解决方案--------------------
应该是你新建的那个调用页面有bom头,总之在header()之前有输出了
解决方法
------解决方案--------------------
检查各个页面编码是否同一,还有就是header()之前是否有输出语句!
其它类似信息

推荐信息