Question

J'ai le problème suivant:

<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>

(Ce sont des caractères croates.)

Contenu de Tst.js est:

alert("2. ČĆŽŠĐčćžšđ");

La sortie de ce script dans FireFox (et Safari, donc j'ai conclu que ce n'est pas le problème avec le navigateur, mais mon code):

1. ČĆŽŠĐčćžšđ
2. ČĆŽŠĐčćžšđ
2. �Ǝ���枚�

Charset sur la page principale qui appelle ce code est Windows 1250.

Je ne comprends pas pourquoi quand je l'appelle Tst.js statiquement (par <script src="Tst.js" type="text/javascript"></scipt>) les caractères sont affichés normale, mais quand j'inclus dynamiquement Tst.js les personnages aller bannanas ...

Et le port je ne peux malheureusement pas tout mon code en UTF-8.

Un conseil?

Était-ce utile?

La solution

2ème mise à jour: Spécification du codage dans l'en-tête de type de contenu du fichier JavaScript a fait l'affaire - pour une raison quelconque

Mise à jour: Vous définissez le jeu de caractères après le chargement du script . Essayez

<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>
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top