我正在使用 Oracle DB 开发 Java EE 应用程序。现在网页上的一些内容有一些特殊字符,我需要转义它们。字符如下图所示:
€˜T’ ! “One Chase.†$ % & ( ) ' / : ? ` — – _ ‚ " Test
有谁知道这是什么字符编码,我该如何逃避它们?我需要逃避它们并用空白替换它们。
我正在使用 Oracle DB 开发 Java EE 应用程序。现在网页上的一些内容有一些特殊字符,我需要转义它们。字符如下图所示:
€˜T’ ! “One Chase.†$ % & ( ) ' / : ? ` — – _ ‚ " Test
有谁知道这是什么字符编码,我该如何逃避它们?我需要逃避它们并用空白替换它们。
这些字符是无法正确处理编码的代码的副作用(假设 UTF-8 是 ISO-8859-1,反之亦然)——它们目前是垃圾。您需要修复您的应用程序才能正确呈现它们。无需用空白替换它们或进行任何过滤。
阅读这篇文章http://www.joelonsoftware.com/articles/Unicode.html然后检查您的数据库交互,以及您的 JSP 和应用程序服务器设置。
您可以对字符串进行模式匹配,并构建无效字符的黑名单或有效字符的白名单......类似于以下内容
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.
}