Я всю жизнь пытался понять, что здесь происходит. Я пытаюсь использовать imagettftext() для размещения текста на изображении, которое я создаю в PHP. У меня есть текст:
$line = "I'm using this string";
Когда эхо отсутствует, оно отображается точно так же. Последняя переменная imagettftext() — это строка, которая помещает текст на изображение. Итак, когда я делаю это:
echo $line."</br>";
imagettftext($my_img, $font_size, 0, $x+4, (($font_size+$margin_top)*$line_number)+$new_shadow_addition, $shadow_colour, $font, $line);
Он правильно повторяет строку, но затем, когда я смотрю на изображение, он отображает его как
I□m using this string
И так для любого другого апострофа. Строка правильная, но она каким-то образом кодирует или декодирует ее перед imagettftext(). Я пытался преобразовать его в чистый UTF-8 перед использованием imagettftext, но это все равно не имело значения (в настоящее время он в ASCII; я обнаружил кодировку до того, как ее использовал).
Это не тот шрифт, который я использую, потому что я пробовал несколько шрифтов.
Любые идеи, почему это происходит?
РЕДАКТИРОВАТЬ
Для получения дополнительной информации я использую simple_html_dom для сканирования данных с другой страницы, а затем использую эту информацию для изображения, поэтому я не уверен, повлияет ли это на что-либо. Этого не должно быть, потому что я обнаружил кодировку и символы, и ничего не кажется неуместным.
Это сводит меня с ума, я пересматриваю это уже три дня, и это не имеет смысла. Я пробовал все возможности декодирования UTF-8 в PHP и все, что я мог придумать или найти. Я сделал rawurlencode() для строки, которую я использую, и она возвращает %92
для символа апострофа, что означает, что это апостроф, а не одиночная кавычка или символ %60
. Любая помощь будет принята с благодарностью. Спасибо.
РЕДАКТИРОВАТЬ
Я определил, что это связано только с символом апострофа (%92 в ASCII). Я пробовал с% 27 (одинарная кавычка), и это отлично работает. Ни один другой символ, который я видел, не вызывает проблемы, поэтому похоже, что он изолирован от символа апострофа.