Если фактическая кодировка неанглийских символов совпадает с кодировкой, указанной в объявлении XML, и если используемый вами синтаксический анализатор XML поддерживает эту кодировку, то у вас вообще не должно быть проблем.
Если в начале файла нет объявления XML, то вам нужно указать синтаксическому анализатору XML, какую кодировку использовать при синтаксическом анализе файла - это означает, что вам нужно знать фактическую кодировку.
Если вводнеправильно закодирован, например, если существует неправильное объявление XML, или если разные символы появляются с разными кодировками, то необходимо исправить это, прежде чем пытаться обрабатывать данные с использованием XSLT или любой другой технологии.
Сначала определите, какой октетпоследовательность используется для представления символов, просматривая двоичный / шестнадцатеричный дамп содержимого файла;затем установите, что это говорит вам о кодировке файла.Если кодировка неправильная или противоречивая, проследите данные до их источника, чтобы выяснить, как произошло повреждение, и устраните основную причину.Если вы не можете устранить основную причину, тогда (и только тогда) подумайте над написанием специального кода, чтобы исправить повреждение.Это может означать, например, добавление или замену объявления XML, которое правильно объявляет кодировку файла.