程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php utf8頁面驗證碼圖片中文亂碼

php utf8頁面驗證碼圖片中文亂碼

編輯:關於PHP編程

在開發時出現uft-8頁面中文驗證碼亂碼了,在baidu搜索發現了原因,下面有解決辦法有需要的朋友可以參考一下。

 

 代碼如下 復制代碼

<?
session_start();


//生成隨機數
for($i=0;$i<4;$i++){
$rand.=dechex(rand(1,15));
}
$_SESSION['checkpic']=$rand;

$im=imagecreatetruecolor(100,30);//畫板,新建一個真彩色圖像

//設置顏色
$bg=imagecolorallocate($im,0,0,0);//紅,綠,藍 背景顏色
$te=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));//字體顏色

//畫線條
for($i=0;$i<3;$i++){
$te2=imagecolorallocate($im,rand(0,255),rand(0,255),rand(0,255));
imageline($im,rand(0,100),0,rand(0,100),30,$te2);//坐標(x1,y1)到坐標(x2,y2)
}

//畫點
for($i=0;$i<200;$i++){
imagesetpixel($im,rand()%100,rand()%30,$te2);
}


//輸出中文
$str=iconv("gbk","utf-8","新年快樂!");//確定要繪制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf','中文en');

//把字符串寫在圖像左上角
//imagestring($im,5,rand(0,50),rand(0,15),$rand,$te);

//輸出圖像
header("Content-type:image/jpeg");//文件類型
imagejpeg($im);

 

?>

分析原因與解決辦法

 代碼如下 復制代碼

$str=iconv("gbk","utf-8","新年快樂!");//確定要繪制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf','中文en');

-->>
應該這樣的

 代碼如下 復制代碼 $str=iconv("gbk","utf-8","新年快樂!");//確定要繪制的中文文字
imagettftext($im,12,3,20,20,$te,'msyhbd.ttf',$str);

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved