動的にロードされる JavaScript ファイルと非 ASCII 文字
-
25-09-2019 - |
質問
次の問題があります。
<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>
所属していません StackOverflow