ホームページ >ウェブフロントエンド >jsチュートリアル >jqueryの文字化けコードとcontentType属性設定の問題解決_jquery
今日は暇なので、頭痛を引き起こすJQueryの文字化け問題など、過去に残った問題を解決したいと思います。実際、この分野にはすでに多くの記事がありますが、さまざまな問題を包括的に解決しているものはほとんどありません。今日は、私自身の便宜とみんなの便宜のためにそれらを要約します。
理由は非常に簡単です: 実際、彼の中国語文字化けは、Jquery のバージョンごとにこの場所の設定が異なるためです。 jquery-1.6.1 と jquery-1.8.3 では定義が異なります。
解決策: jquery-1.6.1 ファイルで、「contentType」を検索し、application/x-www-form-urlencoded の後に charset=UTF-8 を追加します。これを contentType: "application/x-www-form-urlencoded; charset=UTF-8" に変更します。
これでpostメソッドで投稿後の文字化け問題は完全に解決できます。
それでも文字化けが発生する場合は、受信したページのエンコーディングに問題があるとしか言えません。これは、非同期オブジェクト XMLHttpRequest が返された応答テキストを処理するときに UTF-8 エンコーディングをデコードしているためです。 。したがって、post メソッドを使用する場合は、このページを保存し、ページ ファイルのエンコードを UTF-8 に変更する必要があります (覚えておいてください)。
修正前はFROMフォームデータ全体が文字化けしていましたが、上記の方法で簡単に解決できます。
以下は、インターネットから得たいくつかの特殊な状況の要約です:
JQuery Ajax 送信での中国語の文字化けに対する解決策 2
これまで JQuery を使用していたときは見つかりませんでしたが、必ず見つかります。 Ajax で送信すると文字化けが発生します。エンコーディングが原因である可能性があります。
次の理由が考えられます。:
1. HTML のエンコーディングが統一されていません。たとえば、このページでは GB2312 が使用されていますが、JQuery はあまりよくサポートされていないようです。以前は常に UTF-8 を使用していましたが、これを見つけたことがありません。
2. ファイルのエンコードは、簡体字中国語バージョンで保存されたデフォルトのテキスト形式ファイルです。オペレーティング システムは GB2312 です。文字化けが発生しないように、JS エスケープを使用してファイルを UTF-8 形式に変更することをお勧めします。
例: