2012-04-25 15 views
4

Oracle DBを使用してJava EEアプリケーションを作成しています。 ウェブページの一部のコンテンツに特殊文字が含まれているため、それらをエスケープする必要があります。Java Webアプリケーションで特殊文字をエスケープする必要があります

€˜T’ ! “One Chase.†$ % & () '/: ? ` — – _ ‚ " Test 

をコードこれが何であるか、文字だれでも知っており、どのように私はそれらをエスケープすることができます。show以下のよう 文字が来ていますか?私はそれらをエスケープし、空白で置き換える必要があります。あなたは、パターン文字列にマッチし、無効な文字のブラックリストを作成したり、有効な文字のホワイトリストを持っているいずれかの可能

答えて

0

....次

Pattern p = Pattern.compile(blackList); // or reverse with a white list 
Matcher m = p.matcher(unsafeInputString); 
if (m.matches()) 
{ 
    // Invalid input: reject it, or remove/change the offending characters. 
} 
else 
{ 
    // Valid input. 
} 
+0

これらはユニコード文字です... http://ja.wikipedia.org/wiki/List_of_Unicode_characters –

1

のようなものこれらの文字は、の副作用ですエンコーディングを正しく処理しないコード(UTF-8がISO-8859-1であると仮定しているもの、またはその逆) - これらは現時点では迷惑です。アプリケーションを正しくレンダリングするためには、アプリケーションを修正する必要があります。それを空白で置き換えるかフィルタリングする必要はありません。

この記事をお読みくださいhttp://www.joelonsoftware.com/articles/Unicode.html次に、データベースとの対話、およびJSPとアプリケーションサーバーの設定を確認してください。

関連する問題