动态加载的JavaScript文件和非ASCII字符

时间:2010-03-06 09:49:31

标签: javascript dynamic scripting loading ondemand

我有以下问题:

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

不幸的是,我无法将所有代码移植到UTF-8。

有什么建议吗?

1 个答案:

答案 0 :(得分: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>