caratteri di file JavaScript caricata dinamicamente e non ASCII
-
25-09-2019 - |
Domanda
Ho il seguente 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>
(Questi sono personaggi croati.)
Contenuto del Tst.js è:
alert("2. ČĆŽŠĐčćžšđ");
output di questo script in Firefox (e Safari, così ho concluso che questo non è il problema con il browser, ma il mio codice):
1. ČĆŽŠĐčćžšđ
2. ČĆŽŠĐčćžšđ
2. �Ǝ���枚�
Charset sulla pagina principale che chiama questo codice è Windows-1250.
Non capisco il motivo per cui quando chiamo Tst.js staticamente (dai <script src="Tst.js" type="text/javascript"></scipt>
) i personaggi sono mostrati normale, ma quando includo dinamicamente Tst.js i personaggi vanno bannanas ...
E purtroppo non posso porto tutto il mio codice per UTF-8.
Qualche consiglio?
Soluzione
2 ° aggiornamento: Specifica la codifica del contenuto-tipo intestazione del file JavaScript ha fatto il trucco - per qualsiasi motivo
Aggiornamento: si imposta il set di caratteri dopo aver caricato lo script . Prova
<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>