2016-09-28 3 views
0

Я получаю XML-файл с тегом, значение которого составляет «97Ã ²00430 Ã ²», в то время как этот тег изначально содержит только числа. Используется кодировка «ISO-8859-1».Проверьте, содержит ли строка символы с плохой кодировкой

Как обнаружить плохие символы (ò ...) в java, пожалуйста?

LNA

+0

Интересно, можете ли вы исправить проблему у источника, а не обнаруживать ее впоследствии? Он сильно пахнет различием кодировки символов. –

ответ

0

Я думаю, вы могли бы использовать Regex для проверки формата тега (здесь, «\ d +», если вы хотите только цифры).

-2
public static String encode(String chr) { 
    try { 
    byte[] bytes = chr.getBytes("ISO-8859-1"); 
    if (!validUTF8(bytes)) 
    return chr; 
    return new String(bytes, "UTF-8"); 
    } catch (UnsupportedEncodingException e) { 

    throw new IllegalStateException("No char" + e.getMessage()); 
    } 

} 
+2

Что такое 'validUTF8()'? –

+0

Его метод, когда я поставил свою логику, чтобы проверить его. –

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