ホームページ > ウェブフロントエンド > jsチュートリアル > JS リクエストサーバーの gbk ファイルが文字化けする問題を解決する_javascript スキル

JS リクエストサーバーの gbk ファイルが文字化けする問題を解決する_javascript スキル

WBOY
リリース: 2016-05-16 15:36:23
オリジナル
1483 人が閲覧しました

JS がサーバーエンコード形式 gb2312 のファイルを取得すると、内容が文字化けします。ajax ネットワークリクエストは内部で XMLHttpRequest を使用するため、リクエスト前にエンコード形式を設定する必要がありますが、xhr.setRequestHeader("accept", " text/csv ;charset=gb2312,*/*"); は効果がありません。xhr.overrideMimeType("text/csv;charset=gb2312"); の設定のみが正しいです。コードは次のとおりです:

<span style="font-size:18px;">$.ajax({ 
    type: "get", 
    url:"http://7xnhdv.com1.z0.glb.clouddn.com/test1.csv", 
    beforeSend: function(xhr) {  //beforeSend定义全局变量 
     //  xhr.setRequestHeader("accept", "text/csv;charset=gb2312,*/*"); 
      xhr.overrideMimeType("text/csv;charset=gb2312"); 
    }, 
    success: function(xmlDoc, textStatus, xhr)  
    { 
      if(xhr.status == 200) 
      { 
        $('#view0').text(xmlDoc); 
      } 
    } 
  } 
  );</span> 
ログイン後にコピー

overrideMimeType 関数は、サーバーに送信されたヘッダーをオーバーライドし、MIME タイプとして text/csv;charset=gb2312 を強制します。

ps: js で中国語の文字化けが表示される場合、またはページ上で文字化けが表示される場合の解決策

①.js ファイルで中国語が文字化けしてしまう

Javascript ファイル XX.js は、編集時および保存時のエンコード方式 (GBK など) と、ファイルを開くときのエンコード方式 (UTF-8 など) が保存時のエンコード方式と一致しない場合、中国語が文字化けします。が現れます。

解決策:

(1) エディターで開いて参照する場合、元のファイルのエンコードと一致するエンコード方式 (GBK など) を選択して表示すると、文字化けが発生しません。

(2)Eclipseのパッケージエクスプローラーで文字化けしたXX.jsを選択し、右クリックメニューのプロパティを選択し、テキストファイルのエンコーディングでXX.jsで編集保存する際のエンコーディング(GBKなど)を選択し、その後、正常に表示できます ;

②WebサイトページのJavaScriptの中国語フィールドが文字化けしている

XX.js の中国語の文字は、Eclipse またはエディターで正常に表示されます。ページ上で XX.js を呼び出すと、実行後にページの結果の中国語フィールドに文字化けが表示されます。

解決策:

XX.js ファイルを参照しているページに、XX.js ファイルのエンコード方法を、XX.js ファイル自体 (GBK など) のエンコード方法と一致するように「表示」します。

おすすめ:

(1) Eclipse または Myeclipse を使用して XX.js を作成して編集する場合は、テキスト ファイルのエンコードを UTF-8 に変更してから編集し、保存することをお勧めします。

(2) テキストドキュメントなどのエディタを使用して、XX.js を編集して保存します。UTF-8 エンコードで保存することを推奨します。
(3)「表示」し、XX.jsを参照しているページにXX.jsファイルのエンコード方式UTF-8を追加します。

<script type="text/javascript" language="JavaScript" src="/js/XX.js" charset=“utf-8”></script>
ログイン後にコピー
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート