php 產生圖片。中文顯示亂碼
php 產生圖片的中文部分。。變成亂碼。。該怎麼解決。。?
以下我是My Code
字型已經拷貝到我的跟目錄了:
header("Content-type: image/png");
$height=200;
$width=200;
[email protected]($width,$height) or die("Cannot Initialize new GD image stream");
//顏色設定
$background_color = imagecolorallocate($im, 255, 255, 255);//背景顏色
$lin_color = imagecolorallocate($im, 209, 124, 2);//線條顏色
$text_color= imagecolorallocate($im, 209, 124, 2);//文字顏色
//畫圖
imagefill($im,0,0,$background_color);//填充背景
//5條橫線
imageline($im, 0, 0, $width, 0, $lin_color);
imageline($im, 0, 199, 199, 199, $lin_color);
imageline($im, 0, 50, $width, 50, $lin_color);
imageline($im, 0, 100, $width, 100, $lin_color);
imageline($im, 0, 150, $width, 150, $lin_color);
//5條豎線
imageline($im, 0, 0, 0, $height, $lin_color);
imageline($im, 199, 0, 199, 199, $lin_color);
imageline($im, 50, 0, 50, $height, $lin_color);
imageline($im, 100, 0, 100, $height, $lin_color);
imageline($im, 150, 0, 150, $height, $lin_color);
//輸入文字
$str=iconv("Gb2312","UTF-8","中文");
$font = 'arial.ttf';
ImageTTFText($im, 13, 0, 10,10, $text_color, $font,$str);
//輸出映像
imagepng($im);
//清理
imagedestroy($im);
?>
------解決方案--------------------
PHP code
// Set the content-type
header("Content-type: image/png");
// Create the image
$im = imagecreatetruecolor(400, 30);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$grey = imagecolorallocate($im, 128, 128, 128);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = '方正卡通簡體...';
// Replace path by your own font path
$font = '方正卡通簡體.ttf';
$text = iconv('gb2312','utf-8',$text);#[color=#FF0000]Attention[/color]
// Add some shadow to the text
imagettftext($im, 20, 0, 11, 21, $grey, $font, $text);
// Add the text
imagettftext($im, 20, 0, 10, 20, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
imagepng($im);
imagedestroy($im);
?>