Nelle precedenti applicazioni Web che ho creato, ho riscontrato problemi con gli utenti che inserivano caratteri esotici in moduli che vengono memorizzati in modo strano nel database e talvolta appaiono diversi o con doppia codifica quando vengono recuperati dal database e visualizzati di nuovo nel browser. Sto iniziando un nuovo progetto ora e voglio prevenire questi problemi fin dall'inizio.
Quello che sto cercando è una lista di cose che posso fare per evitare problemi di codifica dei caratteri come questi, indipendentemente da ciò che gli utenti inseriscono nei moduli. Se imposto le mie tabelle di database su UTF-8 e imposto tutte le mie pagine Web per presupporre che il contenuto sia UTF-8, è sufficiente? Alcuni caratteri appaiono ancora in modo diverso rispetto a quando l'utente li ha immessi? Devo fare qualche convalida sul lato client che non consenta agli utenti di inserire determinati caratteri?