Lección 5
Flujo de depuración de entidades HTML
Comprobaciones paso a paso para logs, exportaciones y cadenas mixtas de entidades.
Cuando la salida de entidades se ve mal, trabaja desde los bytes almacenados hacia afuera — no desde lo que el navegador muestre casualmente.
Paso 1: Identifica la capa fuente
Pregunta:
- ¿Este campo está almacenado escapado, renderizado escapado o ambos?
- ¿Un CMS, API o plantilla tocó la cadena por última vez?
- ¿El bug está en una fila o en cada fila de una exportación?
Paso 2: Decodifica para inspeccionar caracteres
Pega la cadena en un decodificador. Comprueba:
- ¿Las secuencias
&se colapsan a un solo&? - ¿Hay entidades con nombre y numéricas mezcladas en un valor?
- ¿La ida y vuelta codificar → decodificar coincide con el texto original?
Paso 3: Vigila espacios en blanco invisibles
Compara espacios normales, tabulaciones y . Una vista previa que marque nbsp como · y tabulaciones como → ahorra horas depurando CMS.
Paso 4: Procesa exportaciones problemáticas por lotes
Para volcados CSV o logs, procesa línea por línea. Las entidades inválidas deben reportar el número de línea y el token exacto (por ejemplo &bad; o &#xZZ;).
Paso 5: Corrige en el límite correcto
- Si está doble codificado: elimina un paso de escape o decodifica antes de la capa de plantilla
- Si está infraescapado: escapa en la salida, no en cada paso intermedio de almacenamiento
- Si el estilo de entidad es incorrecto: alinea la configuración del codificador con el consumidor downstream
Paso 6: Verifica en contexto
Tras corregir, ve el HTML o email final en el entorno objetivo. Las devtools del navegador muestran texto DOM parseado, que puede diferir de la cadena de entidad cruda en tu base de datos.