2

我有以下问题:

<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. �Ǝ���枚�

调用此代码的主页上的字符集是 Windows-1250。

我不明白为什么当我静态调用 Tst.js (by <script src="Tst.js" type="text/javascript"></scipt>) 时,字符显示正常,但是当我动态包含 Tst.js 时,字符变为bannanas ...

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

有什么建议吗?

4

1 回答 1

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>
于 2010-03-06T09:58:06.253 回答