UTF-8 - единственная кодировка, которая может обрабатывать все эти алфавиты. Это также кодировка по умолчанию для XML и единственная кодировка, которая имеет смысл для современного приложения. (В любом случае для хранения / на-проводе; для внутренней обработки тип строки вашего языка с большей вероятностью будет UTF-16 или 32.)
Из ошибки может показаться, что у вас проблема с входным файлом, а не проблема с выбранной вами кодировкой. Может быть, он закодирован в чем-то отличном от UTF-8, но забыл включить объявление <?xml encoding?>
, чтобы сказать это. Или, может быть, существует недопустимая управляющая последовательность ISO-2202-JP? (Это ужас кодировки.)
Вы должны попытаться загрузить входной файл во что-то, что анализирует XML (например, Firefox или IE) и посмотреть, какие ошибки, если таковые имеются, возникают.
(Вы не можете смешивать кодировки в одном XML-файле. Если вы выплюнули байтовые строки из разных источников в XML, вы уже потеряли. Как генерируется этот XML?)