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

发布于 2024-08-24 06:25:12 字数 881 浏览 8 评论 0原文

我有以下问题:(

<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 时(通过

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

有什么建议吗?

I have the following 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>

(These are Croatian characters.)

Contents of Tst.js is:

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

Output of this script in FireFox (and Safari, so I've concluded that this is not the problem with the browser, but my code):

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

Charset on the main page that is calling this code is Windows-1250.

I don't understand why when I call Tst.js statically (by <script src="Tst.js" type="text/javascript"></scipt>) the characters are shown normal, but when I dynamically include Tst.js the characters go bannanas...

And unfortunately I can't port all my code to UTF-8.

Any advice?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

飘落散花 2024-08-31 06:25:12

第二次更新:在 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>

2nd update: Specifying the encoding in the content-type header of the JavaScript file did the trick - for whatever reason!

Update: You are setting the character set after loading the script.
Try

<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文