PHP GD Текст и специальные символы / кодирование?

Я генерирую текст в php, используя imagettftext. текст извлекается из базы данных mysql. некоторые символы не отображаются в визуализированном тексте, несмотря на то, что они находятся в символьной карте шрифта и отображаются в базе данных. например, m-тире (-) и smartquotes / apostrophes ("" ').

символы либо не отображаются, либо заменяются вопросительными знаками.

я подозреваю, что это связано с кодировкой, но я не знаю достаточно о кодировании, чтобы знать, с чего начать. Любая помощь приветствуется.

Попробуйте использовать 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