2012-04-25 61 views
4

我在与Oracle DB Java EE应用程序的工作。 现在网页上的某些内容有一些特殊的字符,我需要逃避它们。 的字符来作为显示如下:需要特殊字符转义在Java Web应用程序

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

是任何人都知道这个编码是什么样的性格和我怎能逃脱呢?我需要逃避他们,并用空白取代他们。

回答

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

这些是unicode字符... http://en.wikipedia.org/wiki/List_of_Unicode_characters – 2012-04-25 14:25:06

1

这些字符的副作用代码不能正确处理编码(什么是假设UTF-8是ISO-8859-1,反之亦然) - 他们是目前垃圾。您需要修复您的应用以正确呈现它们。没有必要用空白替换它们或做任何过滤。

阅读这篇文章,然后http://www.joelonsoftware.com/articles/Unicode.html检查数据库的交互,和你的JSP应用服务器设置。