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?

Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top