我正在使用Oracle DB开发Java EE应用程序。 现在网页上的一些内容有一些特殊的字符,我需要逃避它们。 角色如下所示:
€˜T’ ! “One Chase.†$ % & ( ) ' / : ? ` — – _ ‚ " Test
有人知道这是什么字符编码,我怎么能逃脱它们?我需要逃脱它们并用空白替换它们。
答案 0 :(得分:1)
这些字符是代码的副作用,它不能正确处理编码(假设UTF-8是ISO-8859-1,反之亦然) - 它们现在是垃圾。您需要修复您的应用才能正确呈现它们。无需用空格替换它们或进行任何过滤。
阅读本文http://www.joelonsoftware.com/articles/Unicode.html,然后检查数据库交互以及JSP和应用程序服务器设置。
答案 1 :(得分: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.
}