0

当我使用 PHP 创建图像时,它无法正确显示 UTF-8 字符。

$imgPath = 'uplatnica1.jpg';
$image = imagecreatefromjpeg($imgPath);
$color = imagecolorallocate($image, 000, 000, 000);

$string = "šđčćž";
$x = 70;
$y = 200;

$fontSize = 3;

imagestring($image, $fontSize, $x, $y, $string, $color);
imagejpeg($image, 'qwe.jpg');

我怎么解决这个问题?

4

2 回答 2

0

您可以查看imagettftext

您的代码将变为:

$imgPath = 'uplatnica1.jpg';
$image = imagecreatefromjpeg($imgPath);
$color = imagecolorallocate($image, 000, 000, 000);

$string = "šđčćž";
$x = 70;
$y = 200;

$fontSize = 3;
$fontFile = 'verdana.ttf'; // This file must reside on your system

imagettftext($image, $fontSize, 0, $x, $y, $color, $fontFile, $string);
imagejpeg($image, 'qwe.jpg');

不要忘记您$fontFile必须存在于服务器上并且可以通过代码访问。

于 2013-10-09T07:56:42.817 回答
0

在询问之前阅读文档总是好的

字体

可以是 1, 2, 3 , 4, 5 用于latin2 编码中的内置字体(其中较大的数字对应于较大的字体)或使用 imageloadfont() 注册的任何您自己的字体标识符。

并且 UTF8 不是 latin2 的子集

于 2013-10-09T07:51:31.780 回答