$.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 の中国語の処理方法と一貫性を保つために、次のメソッドを使用してヘッダー
コードをコピーします
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 {