2016-09-12 15 views
0

質問: jQueryの関数load()を使用してロードしているテキストファイルのエンコーディングを変更するにはどうすればよいですか?jQueryのload()での文字セット/エンコーディングの変更

私はすべての私のcssjshtmlを入れてきた、そして今、私は、そのページのヘッダーを「抽出」したい私は、1ページ、index.htmlを持っていました。私はheader.cssheader.jsheader.htmlを含む "header"という名前の新しいフォルダを作成することでこれをやっています。また、私はそれがヘッダーが含まれます(すべてのページの)テンプレートを作成していて、そう、このテンプレートの<head>は、次のようになります。

<head> 
    <link rel="stylesheet" href="header/header.css" charset="windows-1252"> 
    <script src="jquery-3.1.0.min.js"></script> 
    <script src="header/header.js"></script> 
    <script type='text/javascript'>$(document).ready(function(){ 
       $('body').load('header/header.html');}); 
    </script> 
</head> 

これがうまく機能し、私はそれを望んでいたようにそこにそこに問題はありません。
の問題は、š、đ、ž、č、ćのようなセルビア語の文字を黒い菱形( )の疑問符で表すことです。私はいくつかの調査を行い、ブラウザ*がutf8文字セット/エンコーディングを期待しており、私のファイル(上に挙げた)がすべてWindows-1252エンコードであることがわかった。上記のコードでわかるように、私はcharset="windows-1252"を使用しましたが、これはHTMLの一部である<link>にありますが、既存のページをテンプレートページに挿入するにはjQueryを使用する必要があり、エンコーディングを選択できませんそれがロードされているファイルのために。

注:私はメモ帳++を使用していると私はエンコードが窓-1252であることをenshureました。また、Firefoxを使用してページをプレビューしていますが、Firefoxでこのエンコーディングに問題があったとの記事が見つかりましたが、古い記事でした。

+0

utf8ですべてのファイルとHTMLページをエンコードしてみませんか? –

+0

私はš、đ、ž、č、ćのようなセルビア語の文字を使用しています。私はANSIを使うことができるように努力していますが、それには¼しかありません。 – Monset

+1

しかし、utf8はこれらの文字をサポートする必要があります。windows-1252についてはわかりません。私はあなたに言ったことは、窓ではなくutf8を使用することでした。1252 –

答えて

0

エンコーディングをindex.htmlに入れてみましたか?

+0

私はそうする理由はありませんでした。 – Monset

0

だから私は何が起こったのかを知った...まだ理由は分からないが、今は動作する。

メモ帳++でエンコードを変更したときに、Convert to ___をクリックしなかったので、Encode in ___をクリックしました。そのようなエンコーディングを複数回変更した後、最後にutf-8に変更しましたが、それでも動作しませんでした。後で、私は2つのオプションがあることに気付きました:Convert to ___Encode in ___、そして私はEncode in ___に行きました。今それは動作します。私が変更を言うと、私はすべてのファイル(header.htmlheader.cssheader.jstemplate.html)を意味します。私はnotepad++がどのようにエンコーディングで動作するのか分かりませんが、誰かがシムミラーや問題に遭遇した場合、素早く答えます。

UTF-8はうまくいきます。 1252と8859-1/2は必要ありません。私のような問題がある場合はにEncode in UTF-8の代わりにConvert to UTF-8をクリックしてください。

あなたの提案をありがとう、これはやや愚かな質問には申し訳ありません。私はちょうどConvert toEncode inの違いをnotepad++に知らなかった(そして気にしない)。

関連する問題