ホームページ ウェブフロントエンド jsチュートリアル JQueryのAjax_jqueryのPostメソッドにおける漢字文字化け問題の解決方法

JQueryのAjax_jqueryのPostメソッドにおける漢字文字化け問題の解決方法

May 16, 2016 pm 04:33 PM
ajax jquery post 中国語 文字化け 方法 解決

この記事の例では、JQuery での中国郵便送信の問題、つまり ajax および jquery.ajax の中国語パラメータ文字化け送信後の処理方法の解決方法を説明します。皆さんの参考に共有してください。具体的な分析は次のとおりです。

質問 1:

今日プロジェクトに取り組んでいたとき、GET を使用して中国語のパラメータを渡す必要があり、バックグラウンド プログラムでページのエンコードを GB2312 に設定するだけで中国語が正常に表示されました。 , 今回はフォーム項目が多いため、GETメソッドでの配信には適しておらず、POSTメソッドでしか送信できませんが、バックグラウンドプログラムでエンコードをGB2312に設定すると中国語になってしまうことが分かりました。文字化けしたまま表示されます。いくつかの調査の後、問題は最終的に解決されました。

解決策:

この問題を解決する方法は非常に簡単です。JS でパラメーターを処理するときに、escape() 関数を使用するだけで済み、デコードに unescape() を使用する必要はありません。この方法は、POST と GET に適しています。特定の Ajax コード ここでは例を示しませんが、escape() 関数を使用してパラメーターを処理するコードは次のとおりです。

コードをコピーします コードは次のとおりです:
var htmer ="getcode="escape(getcode) " &Content= エスケープ(コンテンツ);
通常、Ajax を処理するときは、中国語のパラメータが文字化けしないように、ここでパラメータ値を直接取得します。パラメータを処理するには、escape() 関数を使用するだけです。

質問 2:

Web サイトのページが utf-8 でエンコードされていない場合、ajax によって送信された中国語が文字化けします。

解決策は次のとおりです:

jquery.js で contentType:application/x-www-form-urlencoded を見つけて、contentType:application/x-www-form-urlencoded に変更します。charset=UTF-8。

原因: charset が指定されていない場合、jquery は ISO-8859-1、ISO8859-1 (通常は Latin-1 と呼ばれます) を使用します。 Latin-1 には、すべての西ヨーロッパ言語を記述するために不可欠な追加文字が含まれています。 jqueryのajaxは国際化を全く考慮しておらず、欧文文字セットを使用しているため、中国語を送信すると文字化けが発生します

私はずっと前から Prototype フレームワークを使用しています。私はこれを .net-GB2312 または jsptutorial-utf8 で使用しましたが、文字エンコーディングの問題に遭遇したことはありません。そこで、プロトタイプと JQuery コードの両方をダウンロードして開いて、理由を調べました。

違いは、JQuery のデフォルトの contentType: application/x-www-form-urlencoded であることです

プロトタイプは contentType:application/x-www-form-urlencoded charset=UTF-8 です

文字セットを指定しないと ISO-8859-1 が使用されるのが JQuery の文字化けの原因です

ISO8859-1、通常は Latin-1 と呼ばれます。 Latin-1 には、すべての西ヨーロッパ言語を記述するために不可欠な追加文字が含まれています。

JQueryのAjaxは国際化の問題を全く考慮しておらず、欧文文字セットを使用していたため、中国語を送信する際に文字化けが発生するという問題がありました。

私たちの UTF-8 はこの問題を解決できます。

最終的には、JQuery コードを変更して、contentType が utf-8 文字セットを使用することを明示的に宣言する必要があることを意味します。これにより、GB2312 中国語送信の問題を解決できます。

JQuery コードを変更して charset=UTF-8 を追加するだけで済みます。この方法では、web.config を変更したり、ページのエンコーディングを変更したり、escapc を使用したりする必要はありません。 (str) はサーバー側でデコードされます。英語での伝わり方は中国語でも伝わります。

テストする簡単なコードは次のとおりです:

test.html ページのコード:

コードをコピー コードは次のとおりです:

<頭>



<スクリプトタイプ="text/javascript">
関数 DoAjax(){
$.post("AjaxTest.aspx",{txt:$("#tbox1").val()},
関数(データ){
$("#AjaxResponse").text(data);
}
);
}


AjaxTest





AjaxTest.aspx 処理ページ:

コードをコピー コードは次のとおりです:
<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>

さらに、Ajax のデフォルトの中国語文字エンコーディングは utf-8 であるため、より安全な方法は、関係するページの統一エンコーディング形式が utf-8 であることを確認することです。

この記事が皆さんの jQuery ベースの Ajax プログラミングに役立つことを願っています。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Giteeページ静的なWebサイトの展開に失敗しました:単一のファイル404エラーをトラブルシューティングと解決する方法 Apr 04, 2025 pm 11:54 PM

GiteEpages静的Webサイトの展開が失敗しました:404エラーのトラブルシューティングと解像度Giteeを使用する

XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? XPathを使用して、JavaScriptの指定されたDOMノードから検索する方法は? Apr 04, 2025 pm 11:15 PM

JavaScriptのDOMノードの下でのXpath検索方法の詳細な説明、XPath式に基づいてDOMツリーから特定のノードを見つける必要があることがよくあります。あなたがする必要があるなら...

インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? インラインブロック要素が不発になるのはなぜですか?この問題を解決する方法は? Apr 04, 2025 pm 10:39 PM

インラインブロック要素の誤った整列ディスプレイの理由とソリューションに関して。 Webページのレイアウトを書くとき、私たちはしばしばいくつかの奇妙な表示の問題に遭遇します。比較する...

CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? CSSを介してファーストクラスの名前アイテムを使用して子要素を選択する方法は? Apr 05, 2025 pm 11:24 PM

要素の数が固定されていない場合、CSSを介して指定されたクラス名の最初の子要素を選択する方法。 HTML構造を処理するとき、あなたはしばしば異なる要素に遭遇します...

Webサイトのタイトルキーワードが更新された後、なぜ検索エンジンが古いタイトルを表示するのですか? Webサイトのタイトルキーワードが更新された後、なぜ検索エンジンが古いタイトルを表示するのですか? Apr 04, 2025 pm 09:00 PM

Webサイトのタイトルキーワードが更新された後、なぜ検索エンジンが表示されないのですか?ウェブサイトを最適化すると、多くのウェブマスターがウェブサイトのSEO設定と構造化されたデータを変更して、期待しています...

58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? 58.com作業ページでリアルタイムアプリケーションと視聴者のデータを取得する方法は? Apr 05, 2025 am 08:06 AM

クロール中に58.com作業ページの動的データを取得するにはどうすればよいですか? Crawlerツールを使用して58.comの作業ページをrawったら、これに遭遇する可能性があります...

node.jsでHTMLテキストを取得するためにリクエストライブラリを使用する場合、例外をエンコードする理由は何ですか?それを解決する方法は? node.jsでHTMLテキストを取得するためにリクエストライブラリを使用する場合、例外をエンコードする理由は何ですか?それを解決する方法は? Apr 05, 2025 am 07:03 AM

node.js環境でHTMLテキストコンテンツを取得するためにリクエストライブラリを使用する場合のコーディング例外の理由とソリューション。 node.jsを使用する開発プロセス中に、しばしば...

See all articles