PHP GD 文本和特殊字符/编码


PHP GD Text and Special Characters / Encoding?

我正在使用imagettftext在php中生成文本。 文本是从 MySQL 数据库中提取的。 某些字符未出现在呈现的文本中,尽管它们位于字体的字符映射表中并出现在数据库中。 例如,M 破折号 (—) 和智能引号/撇号 ("')。

字符要么不显示,要么替换为问号。

我怀疑这与编码有关,但我对编码的了解还不够多,不知道从哪里开始。 任何帮助将不胜感激。

在将文本传递给函数之前,请尝试对文本使用 htmlentityencode

采用 UTF-8 编码的文本字符串。

可以包括十进制数字字符引用(形式:€)以访问位置 127 以外的字体中的字符。支持十六进制格式(如 © )。可以直接传递 UTF-8 编码的字符串。

不支持命名实体,例如 © 。考虑使用 html_entity_decode() 将这些命名实体解码为 UTF-8 字符串(html_entity_decode() 从 PHP 5.0.0 开始支持此功能)。

如果在字符串中使用了字体不支持的字符,则空心矩形将替换该字符。

资料来源:http://www.php.net/manual/en/function.imagettftext.php