XML-документ является UTF-8 кодируются, если он не имеет декларацию XML, указав в противном случае, например:
<?xml version="1.0" encoding="shift_jis"?>
или:
<?xml version="1.0" encoding="cp932"?>
Любой XML-анализатор должен обнаруживать кодирование, указанное в декларации XML. (Некоторые синтаксические анализаторы могут не поддерживать некоторые кодеки CJK, поэтому будут жаловаться, но AIUI NSXMLParser должен быть в порядке.)
Если у вас есть файл с байтовыми последовательностями Shift-JIS, который не имеет такой заявленной кодировки, или который содержит последовательности байтов Shift-JIS в некоторых элементах и UTF-8 в других, то, что у вас есть, плохо сформировано; это вовсе не документ XML, и никакой синтаксический анализатор не прочитает его.
Если вы только что получили недостающее объявление кодировки, что вам действительно нужно, чтобы исправить это в конце источника, но в то же время взлома в подходящем объявлении XML или transcoding на bytes вручную с Shift-JIS в UTF-8 перед впитать его в парсер.