En base a los comentarios que he recibido, investigué esto un poco más. Parece que actualmente la mejor práctica es renunciar al uso de entidades HTML y usar el carácter real UTF-8 en su lugar. Las razones enumeradas son las siguientes:
- Las codificaciones UTF-8 son más fáciles de leer y editar para aquellos que entienden lo que significa el personaje y saben cómo escribirlo.
- Las codificaciones UTF-8 son tan ininteligibles como las codificaciones de entidades HTML para aquellos que no las entienden, pero tienen la ventaja de representarlas como caracteres especiales en lugar de codificaciones decimales o hexadecimales difíciles de entender.
Siempre que la codificación de su página esté configurada correctamente en UTF-8, debe usar el carácter real en lugar de una entidad HTML. He leído varios documentos sobre este tema, pero los más útiles fueron:
Desde el UTF-8: El secreto de la codificación de caracteres artículo:
Wikipedia es un excelente estudio de caso para una aplicación que originalmente se usó ISO-8859-1 pero cambió a UTF-8 cuando se volvió demasiado engorroso para admitir idiomas extranjeros. bots ahora ir realmente a través de artículos y convertir entidades de caracteres a sus personajes reales correspondientes en aras de facilidad de uso y capacidad de búsqueda .
Ese artículo también ofrece un buen ejemplo de codificación china. Aquí está el ejemplo abreviado por el bien de la pereza:
UTF-8:
這兩個字是甚麼意思
Entidades HTML:
這兩個字是甚麼意思
El UTF-8 y HTML las codificaciones de entidades no tienen sentido para mí, pero al menos la codificación UTF-8 es reconocible como idioma extranjero, y se procesará correctamente en un cuadro de edición.El artículo continúa diciendo lo siguiente acerca de la versión entidad con codificación HTML:
extremadamente incómodo para aquellos de nosotros que realmente saben qué personaje entidades son, totalmente ininteligible a los usuarios pobres que no lo hacen! Incluso el ligeramente más fácil de usar, entidades de caracteres "inteligibles" como & theta; dejará a los usuarios que son desinteresados en el aprendizaje de HTML rascándose la cabeza. En la otra mano , si ven θ en un cuadro de edición, sabrán que es un carácter especial , y lo tratarán como corresponde, incluso si no saben cómo escribir ese carácter.
Como han notado otros, aún debe usar entidades HTML para los caracteres XML reservados (ampersand, less-than, greater-than).
En una nota aparte, ¿qué harán htmlentities() en PHP? –
Al leer las respuestas y los comentarios me parece que todavía no hay una regla universal a favor de uno u otro, y la respuesta todavía es * depende *. –