Como ya aprendiste, los archivos HTML son texto ASCII y no deben contener caracteres de formato o estilo/fantasía. De hecho, los únicos caracteres que debes colocar en tus archivos HTML son los que realmente están impresos en tu teclado.

Si tienes que mantener presionada cualquier tecla que no sea Shift o escribir una combinación arcana de teclas para producir un solo carácter, no puedes usar ese carácter en tu archivo HTML.

Para utilizar símbolos especiales como comillas, el signo mayor que (>), el signo menor que (<) y el símbolo de copyright (©) en el documento de tu página web, debes utilizar caracteres especiales, a veces llamados caracteres de entidad. Por ejemplo, si deseas incluir una línea de copyright en tu página de la siguiente manera:

© Copyright 2019. Desde Cero. Todos los derechos reservados

Debes utilizar el código de caracteres especiales [html]&copy;[/html] para mostrar el símbolo de copyright, como se muestra en el siguiente código:

&copy; Copyright 2024. Desde Cero. Todos los derechos reservados

Otro código de carácter especial útil es &nbsp;, que significa espacio no descifrable. Puedes haber notado que los navegadores web tratan múltiples espacios como un solo espacio. Si necesitas un pequeño número de espacios en tu texto, puede usar &nbsp; varias veces para indicar múltiples espacios en blanco.

La siguiente tabla proporciona descripciones de los caracteres especiales y su código correspondiente.

CarácterNombre de la EntidadCódigo
Comillas&quot;
Apóstrofo&#39;
©Símbolo Copyright&copy;
&Ampersand&amp;
Espacio vacíoEspacio ininterrumpido&nbsp;
Guión largo&mdash;
|Barra Vertical&#124;

Codificación de Caracteres y UTF-8

Antes de que puedas hablar sobre cómo agregar caracteres especiales a tu página web, primero tengo que hablar un poco sobre la codificación de caracteres. Cuando pensamos en texto, pensamos en caracteres como “a” o “6” o “&” o un espacio. Las computadoras, sin embargo, las consideran entradas numeradas en una lista. Cada una de estas listas de caracteres se conoce como un conjunto de caracteres.

Un conjunto de caracteres del que puedes haber oído hablar es ASCII, que contiene 128 caracteres, incluidas las letras mayúsculas y minúsculas, los números, la puntuación y otros caracteres especiales como el espacio, retroceso y tabulador. El carácter de espacio está en la posición 32 de la lista de caracteres ASCII. Cuando lo conviertes a notación hexadecimal (base 16), está en la posición 20.

Hay mucho más que se puede decir acerca de la codificación de caracteres; de hecho, se han escrito grandes libros sobre el tema. En este punto, solo voy a darte un atajo. Para asegurarte de que tus caracteres especiales siempre tengan el aspecto que deben, solo debes asegurarte de que tus páginas especifiquen que están codificadas en UTF-8 y que uses las entidades que describiré brevemente para cualquier carácter que no están en los 128 caracteres en el conjunto ASCII. Si hace ambas cosas, nunca tendrá problemas con los navegadores que no muestran los caracteres que desea.

La pregunta es, ¿cómo especifico que mis páginas web utilicen el conjunto de caracteres UTF-8? El conjunto de caracteres se puede configurar en el nivel del servidor web, y lo discutiré en la más adelante. Puedes especificar la codificación en el nivel de la página. Si estás utilizando HTML5, debería comenzar tu página de esta manera:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">

El conjunto de caracteres se especifica utilizando la etiqueta <meta>. Para HTML5, el conjunto de caracteres se especifica mediante la siguiente etiqueta <meta>:

<meta charset="utf-8">

Nota

UTF-8 es un conjunto de caracteres que es compatible con ASCII y que soporta todos los caracteres del conjunto de caracteres Unicode. Esto es importante porque Unicode soporta un gran número de caracteres en un gran número de alfabetos. Es extremadamente improbable que quieras usar un carácter que no esté soportado por Unicode.

Entidades de Caracteres para Caracteres Especiales

Las entidades de caracteres toman una de dos formas: entidades nombradas y entidades numeradas. Las entidades nombradas comienzan con un signo (&) y terminan con un punto y coma (;). En medio se encuentra el nombre del carácter (o, más probablemente, una versión abreviada de ese nombre, como [code]agrave[/code] para una a con un acento grave, o [code]reg[/code] para un signo de marca registrada). A diferencia de otras etiquetas HTML, los nombres distinguen entre mayúsculas y minúsculas, por lo que debes asegurarte de escribirlas exactamente. Las entidades nombradas son similares a las siguientes:

Las entidades numeradas también comienzan con un signo y terminan con un punto y coma, pero en lugar de un nombre, tienen un signo de número (#) y un número. Los números corresponden a las posiciones de caracteres en el conjunto de caracteres de la página web. En esta lección, asumiré que estás usando UTF-8. Cada carácter que puedes escribir o para el que puedes usar una entidad nombrada también tiene una entidad numerada. Las entidades numeradas se parecen a las siguientes:

&#224;
&#34;
&#171;
&#169;

Puedes usar entidades con nombre o números en tu archivo HTML incluyéndolos en el mismo lugar que iría el carácter que representan. Por lo tanto, para colocar la palabra resumí en tu archivo HTML, debes usar:

resum&iacute;

o

resum&#237;

Si usas entidades nombradas, el conjunto de caracteres no es importante porque el navegador traducirá la entidad nombrada al carácter apropiado en el conjunto de caracteres especificado para la página. Puedes encontrar una lista completa de las entidades nombradas en http://www.w3.org/TR/2011/WD-html5-20110113/named-character-references.html

Dado que UTF-8 admite más de 100,000 caracteres, es difícil imprimir una tabla de todos ellos. Sin embargo, un recurso que puedes usar para buscar caracteres UTF-8 es el recurso en https://www.utf8-chartable.de/unicode-utf8-table.pl. Recuerda que necesitarás usar las representaciones decimales en tus entidades.

Entidades de Caracteres para Caracteres Reservados

En su mayor parte, las entidades de caracteres existen para que pueda incluir caracteres especiales que no forman parte del conjunto de caracteres ASCII estándar. Sin embargo, hay varias excepciones para los pocos caracteres que tienen un significado especial en el propio HTML. También debes usar entidades para estos personajes. Supongamos que desea incluir una línea de código similar a la siguiente en un archivo HTML:

No se ve inusual, ¿verdad? Desafortunadamente, este no es un HTML válido como está escrito. ¿Por qué? El problema es con el carácter < (menor que). Para un navegador HTML, el carácter menos que significa “este es el comienzo de una etiqueta”. Debido a que el carácter menos que en realidad no es el comienzo de una etiqueta en este contexto, tu navegador puede confundirse. Tendrá el mismo problema con el carácter mayor que (>) porque significa el final de una etiqueta en HTML, y con el símbolo (&) porque indica el comienzo de una entidad. Escrita correctamente para HTML, la línea de código anterior se vería como la siguiente:

<p><code>if x &lt; 0 do print i</code></p>

El uso de estas entidades también es importante si deseas imprimir etiquetas HTML en tus páginas web, como esto:

<p>El elemento <code>&lt;p&gt;</code> representa un párrafo.</p>

HTML proporciona entidades con nombre para cada uno de estos caracteres, y una también para la comilla doble, como se muestra en la Tabla:

EntidadResultado
&lt;<
&gt;>
&amp;&

Tabla Completa Caracteres HTML

Caracteres especialesEntidades HTMLCarácter ASCIIDescripción del carácter
 &nbsp;&#160;Espacio irrompible
­&shy;&#173;Guión opcional
&lrm;&#8206;Marca de izquierda a derecha
&rlm;&#8207;Marca de derecha a izquierda
&quot;&#34;Comillas dobles
«&laquo;&#171;Comilla española o Comilla de inicio
»&raquo;&#187;Comilla española de cierre o Comilla de fin
&lsaquo;&#8249;Comilla de ángulo abierto
&rsaquo;&#8250;Comilla de ángulo cerrado o Comilla de cierre angulada
&ldquo;&#8220;Comilla de inicio o Comilla de cita
&rdquo;&#8221;Comilla de cierre o Comilla de cita
&bdquo;&#8222;Comilla baja o Comilla baja de apertura
&apos;&#39;Comilla simple de apertura o Comilla simple de inicio
&lsquo;&#8216;Comilla simple o Comilla de apertura
&rsquo;&#8217;Comilla simple o Comilla de cierre
&sbquo;&#8218;Comilla baja o Comilla baja de cierre
&hellip;&#8230;Puntos suspensivos o Triple punto
!!&#33;Signo de exclamación
¡&iexcl;&#161;Signo de exclamación invertido
??&#63;Signo de interrogación
¿&iquest;&#191;Signo de interrogación invertido
((&#40;Paréntesis de apertura
))&#41;Paréntesis de cierre
[[&#91;Corchete de apertura o Corchete izquierdo
]]&#93;Corchete de cierre o Corchete derecho
{{&#123;Llave de apertura o Llave izquierda
}}&#125;Llave de cierre o Llave derecha
¨&uml;&#168;Diéresis” o Diacrítico de umlaut
´&acute;&#180;Acento agudo o Acento ortográfico
``&#96;Acento grave
^^&#94;Acento circunflejo
ˆ&circ;&#710;Acento circunflejo o sombrero
~~&#126;Tilde o virgulilla
˜&tilde;&#732;Tilde invertido o tilde bajo
¸&cedil;&#184;Cedilla
##&#35;Símbolo de número o almohadilla
**&#42;Asterisco o estrella
,,&#44;Coma
..&#46;Punto
::&#58;Dos puntos
;;&#59;Punto y coma
·&middot;&#183;Punto medio o interpunto
&bull;&#8226;Punto de viñeta o punto de bala
¯&macr;&#175;Macrón o raya alta
&oline;&#8254;Sobrebarra o barra superior
&#45;Guión o raya
&ndash;&#8211;Guion largo o raya enemiga
&mdash;&#8212;Guion largo o raya enemiga
__&#95;Guion bajo o subrayado
||&#124;Barra vertical (pipe)
¦&brvbar;&#166;Barra vertical doble
&zwnj;&#8204;Espacio sin avance o separador de palabras de ancho cero
&zwj;&#8205;Espacio sin avance o separador de palabras de ancho cero
&dagger;&#8224;Cruz de malta (“daga” o “cruz de la muerte”)
&Dagger;&#8225;Doble cruz de malta (“doble daga” o “cruz de la muerte doble”)
§&sect;&#167;Sección
&para;&#182;Párrafo
©&copy;&#169;Copyright
®&reg;&#174;Marca registrada
&trade;&#8482;Marca registrada o símbolo de trademark
&&amp;&#38;Ampersand o et
@@&#64;Arroba
//&#47;Barra o Slash
\ \&#92;Barra invertida o backslash
&loz;&#9674;Rombo
&spades;&#9824;Pica o espada
&clubs;&#9827;Trébol negro
&hearts;&#9829;Corazón negro
&diams;&#9830;Diamante negro
&larr;&#8592;Flecha izquierda
&uarr;&#8593;Flecha arriba
&rarr;&#8594;Flecha a la derecha
&darr;&#8595;Flecha abajo
&harr;&#8596;Flecha bilateral izquierda-derecha

Si tienes alguna duda o aporte no dudes en comentar. Nos vemos en el siguiente artículo. ¡No olvides compartirlo! :’)