String s=new String(src.getBytes("ISO-8859-1"),"Cp1251");
Проблем в использовании этого приёма может быть несколько.
Например, для восстановления используется неверная страница, или же она может измениться в некоторых ситуациях.
Другая проблема может быть в том, что некоторые страницы выполняют неоднозначное преобразование byte <=> char.
Смотрите, например, описание ошибки за номером 4296969.