2012-12-07 69 views
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); 

一切工作正常,但我有一个奇怪的错误...PHP输出文本

货币符号看起来是错误的。而不是显示一个£标志,它显示一个A顶部有一个插入符号,看起来像英镑符号的下半部分。

所以我试图删除.UTF-8和A随着脱字符号消失,但它仍然只显示英镑符号的下半部分。

我想要的,简直就是一个£标志。任何人都可以帮忙吗?

PHP Error

回答

3

按照documentationimagestring仅支持拉丁文2中的默认字体,其不能编码£。即使它可能编码为£,在传递它之前,您应该已将您的UTF-8转换为Latin2。

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