Forse l'errore risiede nel set di caratteri con cui stai servendo la pagina. Se stai recuperando contenuto UTF-8 dal database e lo servi con il set di caratteri HTML predefinito di Windows-1252, sembrerà confuso. Assicurati di avere l'equivalente di questo:
header( 'Content-Type: text/html; charset=utf-8' );
nel tuo codice PHP.