Le entità HTML sono state introdotte anni fa per trasportare informazioni sui caratteri sul filo quando il trasporto non era binario e nel caso in cui l'utente-agente (browser) non supportasse la codifica charset del livello di trasporto o del server.
Come entità HTML contiene solo caratteri molto semplici (&
, ;
, a-z
e 0-9
) e tali caratteri hanno la stessa codifica binaria nella maggior parte dei caratteri, questo era ed è molto sicuro da tali effetti collaterali.
Tuttavia, quando si memorizza qualcosa nel database, non si verificano questi problemi perché di solito si ha il controllo e si sa come e come è possibile memorizzare il testo nel database.
Ad esempio, se si consente Unicode per il testo all'interno del database, è possibile memorizzare tutti i caratteri, nessuno è veramente speciale. Nota che devi conoscere il tuo database qui, ci sono alcuni dettagli tecnici che puoi incontrare. Come se non conoscessi la codifica del charset per la tua connessione al database, così non puoi dire esattamente al tuo database quale testo vuoi memorizzare lì. Ma generalmente, è sufficiente memorizzare il testo e recuperarlo in seguito. Niente di speciale da affrontare.
In realtà ci sono aspetti negativi quando si utilizza entità HTML al posto del personaggio pianura:
- entità HTML consumano più spazio:
ü
è molto più grande ü
in LATIN-1, UTF-8, UTF-16 o UTF-32.
- Le entità HTML devono essere ulteriormente elaborate. Devono essere creati e, una volta letti, devono essere analizzati. Immagina di dover cercare un testo specifico nel tuo database, o qualsiasi altra azione necessiti di una gestione aggiuntiva. Questo è solo sopra la testa.
Il vero divertimento inizia quando si mescolano entrambi i concetti. Vieni in un posto in cui non vuoi entrare. Quindi non farlo perché non ne avrai bisogno.
Mi sono preso la libertà di cambiare il titolo un po '- il tuo titolo andava bene, ma in questo modo, è più facile trovare domande future simili. (Ho appena cercato e ho realizzato che non esiste un duplicato facile da trovare di questo.) –
Dipende dal set di caratteri utilizzato dalla colonna in cui si memorizza l'HTML. Normalmente dovresti usare un set di caratteri che copra tutti i caratteri (quindi nessuno è "speciale") ei tuoi dati possono essere archiviati in un formato normalizzato e non contengono alcuna codifica speciale accanto alla codifica charset che ogni campo di testo in un database ha Comunque. – hakre
@Pekka Va bene. Se è utile ad altro in questo modo, devo ringraziarti. –