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