decir que tengo un script como el siguiente: <script type="text/javascript" src="myScript.js">
¿Cuál es el valor predeterminado del atributo de juego de caracteres de una etiqueta de secuencia de comandos?
que he visto algunas fuentes en línea que dicen que si se omite el atributo charset
, que por defecto es ISO-8859-1. He visto otros que afirman que asume la misma codificación que la página HTML que contiene la etiqueta del script. ¿Cuál es la verdad?
Necesito saber porque mi archivo JavaScript contiene cadenas literales que se insertarán en el HTML, y que incluyen caracteres no ASCII como el símbolo del euro (€). Me doy cuenta de que agregar un atributo de conjunto de caracteres o solo la codificación HTML de estos caracteres debería resolver mi problema, pero aún me gustaría entender el comportamiento predeterminado.
EDITAR: Para aclarar un punto, necesito saber no solo lo que dicen los estándares, sino cómo actúan realmente los navegadores. El comportamiento descrito aquí: http://joconner.com/2008/09/javascript-file-encoding/ parece sugerir que los navegadores no siempre asumen ISO-8859-1.
yo esperaría que el comportamiento por defecto para ser dependiente en su servidor ** ** más que en el conjunto de caracteres definido en cualquiera de "encerrar" contenido. Sin embargo, no lo sé con certeza, así que publico como un comentario en lugar de una respuesta. – Ben
IIRC, los navegadores predeterminados a "La codificación de la página en la que aparece el script, a veces incluso si el juego de caracteres dice lo contrario". Sin embargo, no tengo una fuente autorizada, así que dudo en poner esto como una respuesta. – Quentin
@Ben Poole: Cuando dices que depende del servidor, ¿te refieres a los encabezados HTTP que envía el servidor, o algo ¿más? Quiero decir, en última instancia, es el navegador web el que tiene que descubrir cómo leer el guión, ¿verdad? –