0

jspフォームを使用したWebアプリがあります。ユーザーが単語からフォームに箇条書きテキストをコピーすると、箇条書きは奇妙な文字に変わり、フォームによって送信されます。jsp内のフォームレベルでこれを防ぐ方法はありますか. UTF-8 エンコーディングを使用しています

<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
4

2 に答える 2

1

最初のリクエスト パラメータがリクエスト ボディから抽出される前に、リクエスト ボディの文字エンコーディングを同じに設定する必要があります。そうしないと、多くの場合、ISO 8859-1 であるサーブレット コンテナに依存するデフォルトのものになります。

request.setCharacterEncoding("UTF-8");

このジョブを実行する適切な場所は、サーブレット フィルターです。

以下も参照してください。

于 2012-10-08T22:52:33.353 に答える
1

箇条書きだけではありません。ASCII 以外のすべての文字が破損する可能性があります。

ページは UTF-8 エンコーディングで出力されますが、入力を UTF-8 として処理していません。残念なことに、多くの重大な間違いがあるサーブレット仕様では、ISO-8859-1 を使用して入力を処理する必要があります。その動作を完全に変更するのは面倒で、サーブレット コンテナーごとに異なります。いくつかの Tomcat に焦点を当てた背景

于 2012-10-06T15:28:48.243 に答える