jspフォームを使用したWebアプリがあります。ユーザーが単語からフォームに箇条書きテキストをコピーすると、箇条書きは奇妙な文字に変わり、フォームによって送信されます。jsp内のフォームレベルでこれを防ぐ方法はありますか. UTF-8 エンコーディングを使用しています
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
jspフォームを使用したWebアプリがあります。ユーザーが単語からフォームに箇条書きテキストをコピーすると、箇条書きは奇妙な文字に変わり、フォームによって送信されます。jsp内のフォームレベルでこれを防ぐ方法はありますか. UTF-8 エンコーディングを使用しています
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
最初のリクエスト パラメータがリクエスト ボディから抽出される前に、リクエスト ボディの文字エンコーディングを同じに設定する必要があります。そうしないと、多くの場合、ISO 8859-1 であるサーブレット コンテナに依存するデフォルトのものになります。
request.setCharacterEncoding("UTF-8");
このジョブを実行する適切な場所は、サーブレット フィルターです。
箇条書きだけではありません。ASCII 以外のすべての文字が破損する可能性があります。
ページは UTF-8 エンコーディングで出力されますが、入力を UTF-8 として処理していません。残念なことに、多くの重大な間違いがあるサーブレット仕様では、ISO-8859-1 を使用して入力を処理する必要があります。その動作を完全に変更するのは面倒で、サーブレット コンテナーごとに異なります。いくつかの Tomcat に焦点を当てた背景。