Las entidades HTML se introdujeron hace años para transportar información de caracteres por cable cuando el transporte no era binario seguro y para el caso de que el usuario (navegador) no admitiera la codificación del chaset de la capa de transporte o el servidor.
Como entidad HTML contiene sólo caracteres muy básicas (&
, ;
, a-z
y 0-9
) y los personajes tienen la misma codificación binaria en la mayoría de los juegos de caracteres, esto es y era muy seguro de los efectos secundarios.
Sin embargo, cuando almacena algo en la base de datos, no tiene estos problemas porque normalmente tiene el control y sabe qué y cómo puede almacenar texto en la base de datos.
Por ejemplo, si permite que Unicode ingrese texto dentro de la base de datos, puede almacenar todos los caracteres, ninguno es realmente especial. Tenga en cuenta que necesita conocer su base de datos aquí, hay algunos detalles técnicos que puede encontrar. Como si no conociera la codificación del conjunto de caracteres para la conexión de su base de datos, por lo que no puede decirle exactamente a la base de datos qué texto desea almacenar allí. Pero, en general, solo almacena el texto y lo recupera más tarde. Nada especial para tratar.
De hecho hay desventajas cuando se utiliza entidades HTML en lugar del carácter llano:
- entidades HTML consumen más espacio:
ü
es mucho más grande que ü
en Latin-1, UTF-8, UTF-16 o UTF-32.
- Las entidades HTML necesitan más procesamiento. Deben crearse y, cuando se lean, deben analizarse. Imagine que necesita buscar un texto específico en su base de datos, o cualquier otra acción necesitaría un manejo adicional. Eso es solo por encima.
La verdadera diversión comienza cuando se mezclan ambos conceptos. Llegas a un lugar en el que realmente no quieres entrar. Entonces no lo hagas porque no vas a necesitarlo.
Me tomé la libertad de cambiar un poco el título - su título estaba bien, pero de esta manera, es más fácil de encontrar para futuras preguntas similares. (Acabo de buscar y me di cuenta de que no hay un duplicado fácil de encontrar de este). –
Eso depende del juego de caracteres que esté usando la columna donde almacena el código HTML. Normalmente, debe usar un conjunto de caracteres que cubra todos los caracteres (para que ninguno sea "especial") y sus datos pueden almacenarse en forma normalizada y no contienen ninguna codificación especial junto a la codificación de conjunto de caracteres desnudo que tiene cada campo de texto en una base de datos. de todas formas. – hakre
@Pekka Eso está bien. Si es útil para otros de esta manera, debo agradecerte. –