4

我正在使用 Oracle DB 开发 Java EE 应用程序。现在网页上的一些内容有一些特殊字符,我需要转义它们。字符如下图所示:

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

有谁知道这是什么字符编码,我该如何逃避它们?我需要逃避它们并用空白替换它们。

4

2 回答 2

1

这些字符是无法正确处理编码的代码的副作用(假设 UTF-8 是 ISO-8859-1,反之亦然)——它们目前是垃圾。您需要修复您的应用程序才能正确呈现它们。无需用空白替换它们或进行任何过滤。

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

于 2012-04-25T15:16:13.943 回答
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.
}
于 2012-04-25T13:45:26.847 回答