Lição 5
Fluxo de depuração HTML Entity
Verificações passo a passo para logs, exports e strings com entities mistas.
Quando a saída de entity parece errada, trabalhe a partir dos bytes armazenados para fora — não do que o navegador acaba exibindo.
Passo 1: Identifique a camada de origem
Pergunte:
- Este campo está armazenado escapado, renderizado escapado, ou os dois?
- CMS, API ou template tocou a string por último?
- O bug é numa linha ou em todas as linhas do export?
Passo 2: Decode para inspecionar caracteres
Cole a string num decodificador. Verifique:
- Sequências
&colapsam para um único&? - Há entities nomeadas e numéricas misturadas no mesmo valor?
- Round-trip encode → decode bate com o texto original?
Passo 3: Observe whitespace invisível
Compare espaços normais, tabs e . Preview que marca nbsp como · e tabs como → economiza horas em CMS.
Passo 4: Processe exports problemáticos em lote
Para CSV ou dumps de log, processe linha a linha. Entities inválidas devem reportar número da linha e o token exato (por exemplo &bad; ou &#xZZ;).
Passo 5: Corrija no limite certo
- Se double-encoded: remova uma passagem de escape ou decode antes da camada de template
- Se sub-escapado: escape na saída, não em cada passo intermediário de armazenamento
- Se estilo de entity errado: alinhe configurações do encoder com o consumidor downstream
Passo 6: Verifique no contexto
Após corrigir, veja o HTML ou e-mail final no ambiente alvo. DevTools mostram texto do DOM parseado, que pode diferir da string de entity crua no banco.