2012-12-11 204 views
2

你好我試圖與區域language.for正常的英語我這樣做生成圖像

// 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 = 'Testing...'; 
// Replace path by your own font path 
$font = 'arial.ttf'; 
// 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); 

但對地方語言將不工作...我怎樣才能做到這一點

生成圖像
+0

如果您使用非ASCII文本,您會得到什麼? – Passerby

+1

它顯示矩形框 – nickle

+0

無法重現在我的PHP 5.3 + IIS 5中。你確定你的PHP文件是UTF-8編碼? – Passerby

回答

0

我無法重現我的機器上的這段代碼的問題。

如果字符串從數據庫中來,很可能有上有一個字符集問題,不要忘了使用:連接到數據庫時

$dbh = new PDO("mysql:$connstr", $user, $password); 
$dbh->exec("set names utf8"); 

它應該解決你的問題。