Dinamično učitana JavaScript datoteka i naša slova

Slijedi problem:

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

Tst.js je samo ovo:

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

Alert javlja redom ovako:

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

Nakon ovakvog outputa ja opsujem, udarim šakom od stol, ozljedim ruku i tako svaki F5.

Encoding na stranici je windows-1250… Pitanje svemoćnom JavaScript motoru unutar browsera: zašto o jem da ti ne jem kada učitam istu skriptu statično i kada ju dinamično dodam se zezne encoding?!?!?!?!?!?

Dali ste imali sličnih problema?

Jesu li encoding datoteke i encoding koji definiraš na stranici jednaki?

Probaj datoteku spremiti uz encoding UTF-8. Isti encoding postavi i na samu stranicu. Ako je potrebno, definiraj encoding i pomoću HTML-ovog elementa META. Preporučam ti UTF-8 jer kad god sam njega koristio, nisam imao problema. Osim toga, windows-1250 baš i nije neki standardni encoding. :wink:

[SIZE=“1”]Inače, imao sam sličnih problema kod prikazivanja sadržaja iz baze podataka ili čistog HTML-a, ali nikad s Javascriptom.[/size]

[quote=“tutorial”]Jesu li encoding datoteke i encoding koji definiraš na stranici jednaki?

Probaj datoteku spremiti uz encoding UTF-8. Isti encoding postavi i na samu stranicu. Ako je potrebno, definiraj encoding i pomoću HTML-ovog elementa META. Preporučam ti UTF-8 jer kad god sam njega koristio, nisam imao problema. Osim toga, windows-1250 baš i nije neki standardni encoding. :wink:

[SIZE=“1”]Inače, imao sam sličnih problema kod prikazivanja sadržaja iz baze podataka ili čistog HTML-a, ali nikad s Javascriptom.[/size][/quote]

Ma svi se encodingzi poklapaju (što i dokazuje kada statično deklariram element i sve super radi). Zato i je čudno.

Problem nastane tek kada dinamično doda element koji pokazuje na neku datoteku sa našim slovima. Kao da taj element onda stavi u poseban prostor sa drugačijim encodingom znakova. Ali funkcije iz tog fajla rade sasvim normalno, sve ok, samo nema naših znakova.

Isprobao sam sad tvoj primjer u FireFoxu i Operi i to prvo s encodingom UTF-8 (bez BOM), a onda i sa Windows-1250. U Operi sam u oba slučaja dobio jednak rezultat, a u FireFoxu sam dobio rezultat koji sam i očekivao; u slučaju s encodingom Windows-1250 javio se problem, a kod encodinga UTF-8 sve se normalno prikazivalo. :wink:

Da, problem je u samom browseru.

http://www-archive.mozilla.org/quality/intl/browser/charsethandling/testcase-CharsetHandlingII.html

Rješio sam problem tako da sam explicitno postavio header za JS datoteku da koristi charset=windows-1250 i sada normalno radi…


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja