ホームページ ウェブフロントエンド jsチュートリアル jqueryのajax() function_jqueryで渡される中国語文字化けの解決策の紹介

jqueryのajax() function_jqueryで渡される中国語文字化けの解決策の紹介

May 16, 2016 pm 05:48 PM
ajax 文字化け パス値

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

$.ajax({
dataType: 'json ',type : 'POST',url : 'http://localhost/test/test.do',data : {id: 1, type: 'Product'},success : function(data){ } } ); 🎜>

問題: バックグラウンド アクション プログラムを送信すると、取得される型が文字化けします

解決策:
方法 1: 前に使用する送信エンコード URI は 2 回エンコードされています。必ず 2 回エンコードする必要があります

1. 次のコードを変更します
コードをコピーします コードは次のとおりです:
data:{id:1, type:encodeURI(encodeURI('product'))}


2 . バックグラウンドアクションで取得した文字列をデコードします
1. String type = request.getParameter(“type”)
2. type = URLDecoder.decode(type, “UTF-8”);
方法 2: Ajax は contentType 属性を構成し、charset=UTF-8 を追加します。
次のパラメーターを ajax メソッドに追加します。
contentType: “application/x-www-form-urlencoded; '' 他のものを使用します。 js フレームワークまたは xhr はほぼ同じです。
ここでのキーは charset=UTF-8 です。これがないと、jQuery の contentType は機能しません。は利用できません


1. テスト環境 jQuery:1.3.2
tomcat:5.5.17

2. テスト方法
1. get メソッドを使用します
server ターミナル Java コード:

コードをコピーします コードは次のとおりです:
文字列名 = new String(request.getParameter("name").getBytes("iso8859-1"),"utf-8");

クライアント js コード:

コードをコピーします コードは次のとおりです:
$.ajax({url: "2. jsp",type: "get",data: {name:" Chinese"},success: function(response){
alert(response);
}});


結果: 正しい表示
コードをコピー コードは次のとおりです:
$.ajax({url: "2.jsp",type: "get ",data: "name=中文",success: function(response){
alert(response);
}});


結果: 文字化け
コードをコピー コードは次のとおりです:
$.get("2.jsp", { name : "中国語" },function(response){
alert(response);
});

結果: 正しい表示

$.get("2.jsp", "name=中文",function(response){
alert(response);
}); >
結果: 文字化けしたコード


2.post メソッド
サーバー側 Java コード:

コードをコピーします
コードは次のとおりです。 request.setCharacterEncoding("UTF-8"); 文字列名 = request.getParameter("name");

クライアント JS コード:


コードをコピーします


結果: 正しく表示されました


コードをコピーします


結果: 正しく表示されました


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

$.post("3.jsp", { name: "中文" },function(response){
alert(response);
}); 🎜>
結果: 正しく表示されました


コードをコピー コードは次のとおりです: $.post("3.jsp", "name=中文",function(response){
alert(response);
});



結果: 正しい表示

3. フィルターを使用します

コードをコピーします コードは次のとおりです public void doFilter(ServletRequest request, ServletResponse response,
FilterChainchain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request; .getHeader("X-Requested -With") != null && req.getHeader("X-Requested-With").equalsIgnoreCase("XMLHttpRequest")) {
request.setCharacterEncoding("utf-8");
} else {
request.setCharacterEncoding("gbk");
}
chain.doFilter(リクエスト, レスポンス);


jQuery になります。 ajax を使用する場合、ヘッダーに X-Requested-With を追加します。値は XMLHttpRequest です。フィルターが jQuery の ajax リクエストであると判断した場合、文字エンコーディングは utf8 に設定されます。これにより、送信後の中国語の文字化けの問題を解決できます。 request.setCharacterEncoding(( "UTF-8"); を設定する必要はありません。
getメソッドの中国語文字化け問題については、getメソッドを使用して中国語を投稿するのではなく、投稿することをお勧めします。代わりに ^-^

prototype.js の中国語の処理方法と一貫性を保つために、次のメソッドを使用してヘッダー



コードをコピーします

コードは次のとおりです: $.ajax({ url: "3.jsp", type: "post", data: {name:"中文"},
beforeSend: function(XMLHttpRequest){
XMLHttpRequest.setRequestHeader("RequestType", "ajax"); "開始");
}、
成功: function(data, textStatus){
alert(data);
エラー: function(XMLHttpRequest, textStatus, errorThrown) 🎜>alert("エラー: " textStatus);
},
complete: function(XMLHttpRequest, textStatus){
alert("Complete:" textStatus);



フィルター コードは次のとおりです。





コードをコピー

コード
public void doFilter(ServletRequest request, ServletResponse response,
FilterChainchain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) request; req.getHeader("RequestType") != null && req.getHeader("RequestType").equalsIgnoreCase("ajax"))) { request.setCharacterEncoding ("utf-8"); else { request.setCharacterEncoding("gbk"); } chain.doFilter(リクエスト, レスポンス);
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、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)

Linuxで中国語の文字化けを解決する方法 Linuxで中国語の文字化けを解決する方法 Feb 21, 2024 am 10:48 AM

Linux の中国語の文字化け問題は、中国語の文字セットとエンコーディングを使用する場合によく見られる問題です。文字化けは、ファイルのエンコード設定が正しくない、システム ロケールがインストールまたは設定されていない、端末の表示設定エラーなどが原因で発生する可能性があります。この記事では、いくつかの一般的な回避策を紹介し、具体的なコード例を示します。 1. ファイルのエンコード設定を確認します。ファイルのエンコードを表示するには file コマンドを使用します。ターミナルで file コマンドを使用して、ファイルのエンコードを表示します: file-ifilename。出力に「charset」がある場合

jQuery AJAX リクエストで発生した 403 エラーを解決する方法 jQuery AJAX リクエストで発生した 403 エラーを解決する方法 Feb 20, 2024 am 10:07 AM

タイトル: jQuery AJAX リクエストの 403 エラーを解決する方法とコード例。403 エラーは、サーバーがリソースへのアクセスを禁止するリクエストを指します。このエラーは通常、リクエストにアクセス許可がないか、サーバーによって拒否されたために発生します。 jQueryAJAX リクエストを行うときにこのような状況に遭遇することがありますが、この記事ではこの問題の解決方法とコード例を紹介します。解決策: 権限を確認します。まず、要求された URL アドレスが正しいことを確認し、リソースにアクセスするための十分な権限があることを確認します。

win11一部ソフトの文字化け問題を解決する方法と詳細な解析 win11一部ソフトの文字化け問題を解決する方法と詳細な解析 Jan 30, 2024 pm 03:54 PM

Win11 システムをアップグレードした後、個人用ソフトウェアが文字化けしていることに多くのユーザーが気づきました。ここで、編集者が win11 の一部のソフトウェアで発生したコード化けの問題の分析をユーザーに丁寧に紹介しましょう。 win11 一部ソフトの文字化け解析 1. 左下隅のタスクバーの検索ボックスをクリックし、コントロールパネルと入力して開きます。 3. エリアをクリックします。 5. 次に、ウィンドウ内のベータ版の小さなボックスのチェックを外し、最後にコンピューターを再起動して問題を解決します。

jQuery AJAXリクエスト403エラーを解決する方法 jQuery AJAXリクエスト403エラーを解決する方法 Feb 19, 2024 pm 05:55 PM

jQuery は、クライアント側の開発を簡素化するために使用される人気のある JavaScript ライブラリです。 AJAX は、Web ページ全体をリロードせずに、非同期リクエストを送信し、サーバーと対話するテクノロジーです。ただし、jQuery を使用して AJAX リクエストを行うと、403 エラーが発生することがあります。 403 エラーは通常、セキュリティ ポリシーまたは権限の問題が原因で、サーバーによってアクセスが拒否されたエラーです。この記事では、jQueryAJAX リクエストで 403 エラーが発生した場合の解決方法について説明します。

Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Oracleに中国語データをインポートする際の文字化けの問題を解決するにはどうすればよいですか? Mar 10, 2024 am 09:54 AM

タイトル: 中国語データを Oracle にインポートする際の文字化けの問題を解決する方法とコード例。中国語データを Oracle データベースにインポートすると、文字化けが頻繁に発生します。これは、データベースの文字セット設定が間違っているか、インポート中のエンコード変換の問題が原因である可能性があります。プロセス。 。この問題を解決するには、インポートされた中国語データが正しく表示されるようにするためのいくつかの方法を講じることができます。以下に、いくつかの解決策と具体的なコード例を示します。 1. データベースの文字セット設定を確認します。 Oracle データベースでは、文字セット設定は次のとおりです。

PHP で中国語のファイル名が文字化けする場合のヒント PHP で中国語のファイル名が文字化けする場合のヒント Feb 27, 2024 pm 02:18 PM

PHP で中国語のファイル名が文字化けする場合のヒント 開発プロセス中、特にユーザーがアップロードしたファイルを処理する場合に、中国語のファイル名が文字化けする問題によく遭遇します。 PHP では、文字化けしたファイル名を正しく処理する方法は一般的かつ重要な問題です。この記事では、中国語のファイル名が文字化けする場合に対処するいくつかのテクニックを紹介し、読者がこの課題にうまく対処できるように具体的なコード例を示します。問題の説明: ユーザーがファイルをアップロードすると、中国語のファイル名が文字化けして見えることがあります。これは、オペレーティング システムとブラウザが異なるためです。

Win11 起動時に文字化けが表示される問題を解決するにはどうすればよいですか? Win11 起動時に文字化けが表示される場合の 2 つの解決策 Win11 起動時に文字化けが表示される問題を解決するにはどうすればよいですか? Win11 起動時に文字化けが表示される場合の 2 つの解決策 Feb 29, 2024 pm 12:16 PM

Win11はMicrosoftの最新OSですが、起動時に文字化けが発生し、システムの正常な使用に支障をきたす場合があり、この記事ではこの問題を解決する方法をいくつか紹介します。方法 1: 1. [Win+S] キーを押すか、タスクバーのスタート アイコンの横にある [検索アイコン] をクリックし、開いた Windows 検索で、検索ボックスに「コントロール パネル」と入力し、クリックします。 [開く]. コントロール パネル ウィンドウから最適なコントロール パネル アプリケーションを選択します; 2. コントロール パネル ウィンドウで [カテゴリ] ビュー モードに切り替え、[時計とゾーン - 地域] をクリックします; 3. ゾーン内で4. [ベータ版: Unicode を使用する] の [チェックを外す]

Linuxターミナルで文字化けが発生した場合の対処方法 Linuxターミナルで文字化けが発生した場合の対処方法 Mar 20, 2024 pm 03:12 PM

Linux ターミナルで文字化けが発生する場合の対処方法 Linux システムを使用していると、ターミナルに表示される文字が文字化けすることがあり、ターミナルを使用する際に不便を感じることがあり、早急に対処する必要があります。この記事では、Linux ターミナルでよくある文字化け問題の対処方法と具体的なコード例を紹介します。問題 1: 端末上の中国語の文字化け. 端末上の中国語の文字化けは、通常、端末の文字エンコード設定が正しくないことが原因で発生します。この問題は、端末の文字エンコード設定を変更することで解決できます。 #現在の端末を表示する

See all articles