Ci confondi se parli di codifica di caratteri e poi fai riferimento a htmlentities, che opera una sostituzione con le entità html. Sono due cose ben distinte.
Il tuo database deve contenere informazioni. Se tali informazioni riguardano un testo si può decidere con quale codifica di caratteri conviene memorizzarli (cerca su internet cos'è l'encoding). Ma memorizzare un testo come insieme di entità html non significa "fare una codificazione corretta del testo", tutt'altro. Vincoli quelle informazioni ad un solo utilizzo. E' uno spreco di spazio. E' un errore logico. Rappresenti le tue informazioni in un modo tale che sia utilizzabile solo in un unico contesto: l'html. Se volessi poi inviare tramite email queste informazioni ti dovrai ricordare di come quando le hai salvate nel database le hai trasformate in entità html, quindi dovrai fare l'operazione inversa prima di inviarle via email.
In breve, quello che devi fare è il contrario di quello che stai facendo. Non ti devi preoccupare che la tua stringa Díaz anuncia que “Andalucía” non abbia le “ ” sotto forma di entità html, ti devi preoccupare che hai salvato íí ,delle entità html, nel tuo database.

Rispondi quotando