PHP htmlspecialchars және таңбалар жиыны мәселесі

I've got a page that loads content from a database. I have the page set to use utf-8 as such

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

I've set the collation on the db to utf8_unicode_ci, and I access the field from MySQL using this:

$desc = htmlspecialchars($row['description'],ENT_QUOTES,'UTF-8');

I've done this to fix smart quotes and em-dashes. However, any field that contains those characters is being returned blank now. If I take away the 'UTF-8' parameter in my htmlspecialchars call I get the full text just with questionmark-in-a-diamond characters where the quotes should be. Is there something I'm missing?


1 жауаптар

Егер сіз бос жолды кері алсаңыз, дерекқордағы мазмұнда жарамсыз UTF-8 таңбасы бар екенін білдіреді. Сондай-ақ, ENT_IGNORE жалаушасын орнатуға болады, бірақ қателесіп жатқан таңбаны дәл анықтауға тырысу үшін қате жолмен екілік іздеуді ұсынамын. See the section under return value.