2
setlocale(LC_MONETARY, 'en_GB.UTF-8');
imagestring( $my_img, 4, $colC, $row1, money_format('%(#5n', $rates[0][0]), $text_colour );

...
...
...

header( "Content-type: image/png" );
imagepng( $my_img );
imagecolordeallocate( $line_colour );
imagecolordeallocate( $text_colour );
imagecolordeallocate( $background );
imagedestroy( $my_img );

一切正常,但是我有一个奇怪的错误......

货币符号看起来不对。它没有显示£符号,而是显示顶部带有插入符号的A 看起来像英镑符号的下半部分。

所以我尝试删除 .UTF-8 并且带有插入符号的A消失了,但它仍然只显示井号的下半部分。

我想要的只是一个£符号。有人可以帮忙吗???

PHP 错误

4

1 回答 1

3

根据文档imagestring默认字体只支持Latin2,不能编码£。即使它可以编码£,您也应该在传递之前将 UTF-8 转换为 Latin2。

使用imageTtfText支持 UTF-8 的。您需要将它指向第 7 个参数中的有效 TrueType 字体文件。

于 2012-12-07T19:05:24.597 回答