Me gustaría que hubiera un lugar donde se plantearan las dudas que nos puedan surgir a los principiantes en el curso de html5. Tengo una para empezar, ¿Porqué después de poner el idioma en la etiqueta de html inicial tenemos que poner en el encabezamiento un juego de caracteres (UTF-8) para que al escribir en español no haya errores con los acentos y las eñes?. ¿El poner el idioma en la etiqueta de inicio <html lang="es"> no es suficiente?. ¿Cada idioma no tiene un juego de caracteres propio?.
Curso de html5
Hola!Yo estoy empezando con el HTML con Codeacademy, si sabéis de más recursos online para aprender me gustaría que me dijerais algunas webs. Un saludo
@juanse,
El atributo lang, dependiendo de dónde se utilice (se puede utilizar en cualquier etiqueta o de manera global, en <html>) se utiliza para especificar el lenguaje de la etiqueta o el documento. Esto es para que el intérprete* (el software que interpreta el documento) sepa qué lenguaje mostrará/leerá. Imagina que tienes un sitio escrito en español; pero resulta que quieres poner una frase escrita en inglés en algún lugar, entonces harías algo así:
De esta forma, el documento estará en español, pero con un párrafo en inglés.
Respecto a UTF-8, es totalmente diferente. El encoding (<meta charset="utf-8" />) le dice al intérprete* qué juego de caracteres se utilizó para escribir el documento. Usualmente aparecen las preguntas en el foro Las ñ o tildes no se ven bien en el navegador; esto ocurre porque la persona escribió el documento usando ISO-8859-1 pero especificó el charset como UTF-8, por lo tanto, el intérprete no podrá interpretar bien los caracteres.
*Intérprete: un intérprete es el software que traduce el documento en algo visible o audible. El navegador (Google Chrome, Firefox, etc.) o un lector de pantalla (como NVDA o JAWS - para personas con discapacidades visuales) son ejemplos de intérpretes.
¿Porqué después de poner el idioma en la etiqueta de html inicial tenemos que poner en el encabezamiento un juego de caracteres (UTF-8 para que al escribir en español no haya errores con los acentos y las eñes?
El atributo lang, dependiendo de dónde se utilice (se puede utilizar en cualquier etiqueta o de manera global, en <html>) se utiliza para especificar el lenguaje de la etiqueta o el documento. Esto es para que el intérprete* (el software que interpreta el documento) sepa qué lenguaje mostrará/leerá. Imagina que tienes un sitio escrito en español; pero resulta que quieres poner una frase escrita en inglés en algún lugar, entonces harías algo así:
<html lang="es">
<body>
... contenido ...
<p lang="en">There is a fox in the woods hunting a rabbit...</p>
... más contenido ...
</body>
</html>De esta forma, el documento estará en español, pero con un párrafo en inglés.
Respecto a UTF-8, es totalmente diferente. El encoding (<meta charset="utf-8" />) le dice al intérprete* qué juego de caracteres se utilizó para escribir el documento. Usualmente aparecen las preguntas en el foro Las ñ o tildes no se ven bien en el navegador; esto ocurre porque la persona escribió el documento usando ISO-8859-1 pero especificó el charset como UTF-8, por lo tanto, el intérprete no podrá interpretar bien los caracteres.
*Intérprete: un intérprete es el software que traduce el documento en algo visible o audible. El navegador (Google Chrome, Firefox, etc.) o un lector de pantalla (como NVDA o JAWS - para personas con discapacidades visuales) son ejemplos de intérpretes.