2012-04-25 2 views
4

Я работаю над Java EE-приложением с Oracle DB. Теперь у некоторого контента на веб-странице есть специальные символы, и мне нужно их избежать. персонажи приходят как показывают ниже:Необходимо избегать специальных символов в Java-приложении

€˜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

это символы Юникода ... http://en.wikipedia.org/wiki/List_of_Unicode_characters –

1

Эти символы являются побочным эффектом код, который неправильно обрабатывает кодировки (что-то предполагает, что UTF-8 - это ISO-8859-1, или наоборот) - в данный момент они неактивны. Вам нужно исправить ваше приложение, чтобы правильно их отобразить. Нет необходимости заменять их пробелами или делать какую-либо фильтрацию.

Прочтите эту статью http://www.joelonsoftware.com/articles/Unicode.html, затем проверьте взаимодействие с базой данных, а также настройки вашего JSP и сервера приложений.

Смежные вопросы