Salve
ho creato da poco un sito su altervista, qui gestisco la possibilita di inserire post, commentarli, ecc.
il problema è questo, una volta inserito un post, quando viene fatta la query di insert nel mio database, il database non riconosce le lettere accentate e le sostituisce con "è", per risolvere ho provato ad inserire dei meta tag (adesso non ricordo quali :P ma non cambiava nulla) e a forzare l'utf-8 sulla relativa tabella del database
se notate, il post nella pagina principale hanno le è accentate, mentre se si preme "LEGGI TUTTO" le è vengono cambiate in quelle a del cavolo :D
inoltre se si aggiunge un commento, il commento viene inizialmente visualizzato corretto a causa della funzione ajax che restituisce la stringa inserita l'attimo prima, senza passare dal database, mentre se si refresha la pagina, i commenti vengono presi dal database e sminchiati.
questo mi fa pensare che sia un problema dell'hosting/database, che voi sappiate c'è qualche soluzione?
Senza meta-tag nelle pagine html, queste vengono visualizzate con il tuo encoding di default, ISO-8859-1 (o il suo stretto parente Windows-1252).
L'encoding delle tabelle nel database è secondario, e potrebbe anche essere diverso da quello del tuo sito. L'importante è che se ci metti dentro del testo UTF-8, quando lo tiri fuori lo mandi al browser come UTF-8.
Quindi:
Togli i dati che hai inserito nel database, a meno di non essere sicuro del loro encoding (l'encoding dei dati, non quello delle tabelle)
Metti meta tag charset/encoding in tutte le tue pagine, comprese quelle di amministrazione se ne hai
Assicurati che i tuoi file siano salvati come UTF-8 (vedi configurazione del tuo editor)