2010-03-06 2 views
2

У меня есть следующие проблемы:Динамически загруженный файл и не-ASCII символы JavaScript

<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 является:

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

Вывод этого скрипта в FireFox (и Safari, поэтому я пришел к выводу, что это не проблема с браузером, но мой код):

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

Charset на главной странице, вызывающей этот код, - Windows-1250.

Я не понимаю, почему, когда я называю Tst.js статически (по <script src="Tst.js" type="text/javascript"></scipt>) символы отображаются нормально, но когда я динамически включать Tst.js символы идут bannanas ...

И, к сожалению, я могу 't передать весь мой код в UTF-8.

Любые советы?

+0

См. Мой обновленный ответ. –

ответ

2

2-е обновление: Задание кодировки в заголовке содержимого файла JavaScript делал трюк - по любой причине!

Обновление: Вы устанавливаете набор символов после загрузки сценария. Пробег

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

Да, оба файла находятся в windows-1250. Вот почему это так странно. – Stazh

+0

Теперь я изменил порядок атрибутов charset и src, поэтому charset перед src, но проблема не устранена. – Stazh

+0

@Stazh Действительно странно. Что произойдет, если вы добавите 'charset =" windows-1250 "в пример 2 (где вы включаете скрипт с помощью тега скрипта)? –

Смежные вопросы