【问题标题】:PHP output text on image character encoding error图像字符编码错误的PHP输出文本
【发布时间】:2023-03-16 01:03:01
【问题描述】:
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 image-processing utf-8 character-encoding ascii


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2015-11-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多