EBCDIC - не единственная кодировка, это семейство кодировок (в данном случае называемых кодовыми страницами), аналогично тому, как ISO-8859 - * - это семейство кодировок: кодировки внутри семейств имеют примерно половину кодов для «базовых» букв (примерно то, что присутствует в ASCII) и отличаются в другой половине.
Так что, если вы говорите, что он хранится в EBCDIC, вам нужно сообщить нам , какая кодовая страница используется.
Аналогичная проблема существует с ANSI: при использовании для кодировки это относится к кодировке Windows по умолчанию. К сожалению, кодировка по умолчанию для установки Windows может отличаться в зависимости от настроенной локали.
Итак, еще раз: вам нужно выяснить, какая именно кодировка используется здесь (обычно это из семейства Windows - *, "нормального" английского s Windows-1252 ).
Как только вы на самом деле знаете в какой кодировке у вас есть и хотите в каждой точке, вы можете перейти ко второму шагу: исправить его.
Мои личные предпочтения для такого рода проблем заключаются в следующем: имейте только один шаг для преобразования кодировок: возьмите все, что производит исходный инструмент, и преобразуйте его в UTF-8 в первый шаг. С этого момента всегда используйте UTF-8 для обработки этих данных. При необходимости преобразуйте UTF-8 в некоторую другую кодировку на последнем шаге (но по возможности избегайте этого).