Arquivo JavaScript com carregamento dinâmico e caracteres não-ASCII
-
25-09-2019 - |
Pergunta
Eu tenho o seguinte problema:
<script type="text/javascript">
alert("1. ČĆŽŠĐčćžšđ");
</script>
<script type="text/javascript" src="Tst.js"></script>
<script type="text/javascript">
var pScript = document.createElement("script");
pScript.type = "text/javascript";
pScript.src = "Tst.js";
pScript.charset = "windows-1250";
$("body").append(pScript);
</script>
(Estes são personagens croatas.)
O conteúdo de tst.js é:
alert("2. ČĆŽŠĐčćžšđ");
Saída deste script no Firefox (e Safari, então eu concluí que esse não é o problema do navegador, mas meu código):
1. ČĆŽŠĐčćžšđ
2. ČĆŽŠĐčćžšđ
2. �Ǝ���枚�
Charset na página principal que está chamando esse código é o Windows-1250.
Não entendo por que quando ligo para tst.js estaticamente (por <script src="Tst.js" type="text/javascript"></scipt>
) Os caracteres são mostrados normais, mas quando eu incluo dinamicamente tst.js os personagens Go Bannanas ...
E, infelizmente, não posso portar todo o meu código para o UTF-8.
Algum conselho?
Solução
2ª atualização: Especificando a codificação no cabeçalho do tipo conteúdo do arquivo JavaScript fez o truque - por qualquer motivo!
Atualizar: Você está definindo o conjunto de personagens Depois de carregar o script. Tentar
<script type="text/javascript">
var pScript = document.createElement("script");
pScript.type = "text/javascript";
pScript.charset = "windows-1250";
pScript.src = "Tst.js";
$("body").append(pScript);
</script>