Secondo me stai sbagliano, o ti sei spiegato male o non ho mai capito niente io fino ad ora.Originariamente inviato da Ht28
Ti spiego: UTF-8 lo puoi usare ma al posto dei caratteri speciali dovrai inserire i relativi codici, qui trovi la lista http://riemann.unica.it/studenti/guida/caratteri.html
perciò se nel tuo sito devi scrivere "però" se usu UTF-8 dovrai scrivere "per& ograve;" in questo modo sei sicuro che anche es. in Giappone vedono la parola "però" se invece usi charset=iso-8859-1 vedrebbero "per+un quadratino bianco".
Se il tuo sito è visto principalmente qui in occidente ti conviene usare charset=iso-8859-1 così non devi sempre tenere sottocchio la lista dei caratteri speciali
utf-8 e iso-8859-1 sono semplicemente due tipi di codifica dei caratteri.
Le entità come "& ograve;" non centrano niente e servono appunto per rappresentare caratteri speciali o non compresi in questa o quella codifica.
Le entità comunque hanno il loro limiti ovvero non esistono entità per qualsiasi carattere e comunque le entità (rimanendo nei due casi utf-8 e iso-8859-1), vengono servite ed interpretate correttamente con entrambe le codifiche in quetione.
Semmai è proprio il contrario iso-8859-1 non ha nel suo set tutta una serie di caratteri e per poterli rendere devi ricorrere alle entità, diversamente utf-8 ne racchiude a migliaia quindi anche se scrivi in cirillico, japponese o cinese a video li vedaria correttamente a patto che tu li inserisca tramite un form in utf-8, quindi con una pagina servita come utf-8, il form prenderà la medesma codifica della pagina, che il tuo DB abbia collation della tabella e dei campi utf-8 e che la connessione con Mysql sia in utf-8, insomma deve essere tutto in utf-8.
Così facendo puoi tranquillamente salvare nel DB la tua stringa senza nessuna entità perchè utf-8 riesce a rappresentare praticamente tutto, non per neinte è consigliato soprattutto per siti in più lingue (es. vedi wikipedia).
Poi anche in utf-8 se vuoi puoi usare le entità, e questo è uno degli elementi di questo post...a cosa serve usare le entità se utf-8 non ne ha bisogno?
Faccio un altro esempio: se provi a scrivere in Word, magari inserisci anche qualche simbolo particolare, poi inseriscilo nel DB da form con un bel copia e incolla, servi tutto come iso-8859-1 e dimmi cosa vedi, poi fai la medesima cosa ma in utf-8 (seguendo tutti i punti sopra descritti) e dimmi cosa vedi? Quale delle due pagine si vede correttamente ed è perfettamente valida anche agli occhi del validatore senza nessun warning o errore di charset e relativa codifica?
Detto questo, quello che chiedevo è: leggendo si trovano pareri contrastanti, come per esempio il tuo che diverge dal mio, e non essendo io supponente e tantomeno non avendo la scienza infusa mi sono trovato, cercando una cosa sul forum, difronte a queste incongruenze ripetute in più post, mi sono quindi posto il dubbio...ho effettivamente sempre fatto le cose correttamente?
Per esempio per me è abbastanza strano inserire stringhe utf-8 in un DB con collation utf-8 e tutto il resto come entità, fare conversioni su conversioni per me è inutilè, ha senso se ho il sito in iso-8859-1 dove certi caratteri non riesco a renderli correttamente e sono obbligato ad usare le entità.
Poi ci sono e potrebbero esserci altri problemi ed infatti son qui a chieder lumi proprio perchè se fin ora ho sbagliato, vorrei correggermi e capire.

Rispondi quotando