質問

次の問題があります。

<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を動的にインクルードすると、文字がバナナになります...

そして残念ながら、すべてのコードを UTF-8 に移植することはできません。

何かアドバイス?

役に立ちましたか?

解決

2回目の更新: 理由は何であれ、JavaScript ファイルの content-type ヘッダーでエンコーディングを指定するとうまくいきました。

アップデート: 文字セットを設定しています スクリプトをロードした後. 。試す

<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>
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top