У меня была похожая проблема в плагине Wordpress, над которым я работал, и я ломал голову снова и снова, пробуя различные предложения отсюда и в различных других результатах поиска Google. Я наконец нашел решение, которое сработало в моей ситуации, поэтому я поделюсь им. Я скажу, что это было решение Пола, которое я сначала попробовал, и оно не сработало, но причина была в том, что я пытался «записать» решение. В моем случае просто вызов html_entity_decode () не сработал. Зачем? Если бы я читал документацию по PHP более внимательно, это было бы очевидно. Моя проблема была с кодировкой в одиночной кавычке и по умолчанию для html_entity_decode () является 'ENT_COMPAT', который оставляет одиночные кавычки в покое. Решением было установить все параметры, и это сработало. В действительности я, вероятно, мог бы прекратить кодировку, так как я кодировал UTF-8, но подумал, что я должен быть тщательным.
$decoded_str = html_entity_decode ( $value_to_decode, ENT_QUOTES, 'UTF-8' );
Хороший урок здесь: «Прочитайте документы». Я не говорю, что вы этого не сделали (вы, вероятно, так и сделали), но многие из нас торопятся и затушевывают решение, которое сидит там и смотрит нам в лицо, если бы мы только смотрели.