Por que un texto mostra «&» e como corrixilo
Publicada o · Actualizada o 2 min de lectura
Cando un texto mostra «&» en lugar de «&», unha entidade HTML codificouse unha vez de máis. A ferramenta decodifica un nivel cada vez e dílle cando queda un.
Que é unha entidade HTML
Unha entidade é unha secuencia de signos que representa un carácter reservado ao código dunha páxina. Hai cinco habituais.
| Carácter | Entidade |
|---|---|
| & | & |
| < | < |
| > | > |
| " | " |
| ' (apóstrofo recto) | ' |
De onde vén a dobre codificación
Ás veces un texto pasa por dous sistemas que codifican cada un: un editor e despois un modelo de páxina. Cada paso transforma o «&» da entidade anterior. Con Codificar/decodificar as entidades HTML, codificar «Tom & Jerry» dá «Tom & Jerry», e codificar ese resultado dá «Tom &amp; Jerry».
| Paso | Texto resultante |
|---|---|
| Texto orixinal | Tom & Jerry |
| Codificado unha vez | Tom & Jerry |
| Codificado dúas veces | Tom &amp; Jerry |
O navegador decodifica un nivel ao mostralo. Un texto codificado dúas veces móstrase, pois, con «&» en lugar de «&».
Decodificar nivel por nivel
A ferramenta quita un só nivel de entidades en cada pasada. Se o resultado aínda contén entidades, o modo «Both» sinálao e volve executar a decodificación sobre o resultado.
| Texto | Primeira decodificación | Segunda decodificación |
|---|---|---|
| Tom &amp; Jerry | Tom & Jerry | Tom & Jerry |
| &lt;b&gt;gras&lt;/b&gt; | <b>gras</b> | <b>gras</b> |
Decodificar un só nivel evita desfacer unha codificación voluntaria: un exemplo de código que debe mostrar «&» na pantalla escríbese «&amp;» na páxina.
Acentos e símbolos
A decodificación entende todas as entidades con nome que acaban con punto e coma, non só as cinco habituais. «café à 5 € © 2026» dá «café à 5 € © 2026», e o espazo duro pasa a ser un auténtico espazo duro.
Entidades numéricas
As entidades numéricas tamén se decodifican: «été» dá «été», e «😀» como «😀» dan o mesmo emoji.
O que a ferramenta deixa intacto
- Unha entidade descoñecida como «&inconnue;» mantense tal cal.
- Unha entidade sen punto e coma final, como «&» ou «<» dentro dunha frase, non se toca.
- Un enderezo con parámetros, como «https://exemple.fr/?a=1¶m=2©=4», segue exacto: «¶m» e «©» non se toman aí por entidades.
Codificar código para mostralo
Para mostrar un fragmento de código nunha páxina, codifíqueo unha vez. O texto «<a href="x">l’été & plus</a>» dá «<a href="x">l'été & plus</a>». As letras acentuadas non se codifican, só os cinco caracteres reservados.
Evitar o problema
Codifique só unha vez, no último momento, ao escribir na páxina. Para substituír en bloque os restos dunha mala codificación, Buscar e substituír nun texto vai ben. Os enderezos web seguen outra codificación, explicada en Base64, hash e enderezo codificado, non os confunda.
Comprobar o resultado
- Volva executar a decodificación mentres a ferramenta sinale entidades restantes.
- Compare co texto orixinal na pantalla.
- Comprobe os espazos duros e os emojis.
