это просто описание, что из данного XML читать данные в формате utf-8, но это далеко не факт, что сам файл с этим XML имеет формат utf-8. Откройте этот файл в Notepad++ и посмотрите в каком формате данные. Скорее всего он напишет ANSI. Как вы создали этот XML?
Я, когда передаю строку из флеша в сишную библиотеку для сохранения в файл, то библиотека сохраняет как раз в ANSI, для последующего чтения этого файла из флеша сделал функцию-конвертер
Код AS3:
static var ANSItoUTF8_arr:Array=new Array([192,1040,"А"],[193,1041,"Б"],[194,1042,"В"],[195,1043,"Г"],[196,1044,"Д"],[197,1045,"Е"],
[168,1025,"Ё"],[198,1046,"Ж"],[199,1047,"З"],[200,1048,"И"],[201,1049,"Й"],[202,1050,"К"],
[203,1051,"Л"],[204,1052,"М"],[205,1053,"Н"],[206,1054,"О"],[207,1055,"П"],[208,1056,"Р"],
[209,1057,"С"],[210,1058,"Т"],[211,1059,"У"],[212,1060,"Ф"],[213,1061,"Х"],[214,1062,"Ц"],
[215,1063,"Ч"],[216,1064,"Ш"],[217,1065,"Щ"],[218,1066,"Ъ"],[219,1067,"Ы"],[220,1068,"Ь"],
[221,1069,"Э"],[222,1070,"Ю"],[223,1071,"Я"],
[224,1072,"а"],[225,1073,"б"],[226,1074,"в"],[227,1075,"г"],[228,1076,"д"],[229,1077,"е"],
[184,1077,"ё"],[230,1078,"ж"],[231,1079,"з"],[232,1080,"и"],[233,1081,"й"],[234,1082,"к"],
[235,1083,"л"],[236,1084,"м"],[237,1085,"н"],[238,1086,"о"],[239,1087,"п"],[240,1088,"р"],
[241,1089,"с"],[242,1090,"т"],[243,1091,"у"],[244,1092,"ф"],[245,1093,"х"],[246,1094,"ц"],
[247,1095,"ч"],[248,1096,"ш"],[249,1097,"щ"],[250,1098,"ъ"],[251,1099,"ы"],[252,1100,"ь"],
[253,1101,"э"],[254,1102,"ю"],[255,1103,"я"],
[185,8470,"№"]);
//метод для преобразования ANSI toUTF-8
static public function ANSItoUTF8String(inString:String):String{
workString="";
var embedSymbol:String="";
for(var i:int=0;i<inString.length;i++){
for(var q:int=0;q<ANSItoUTF8_arr.length;q++){
if(inString.charCodeAt(i)==ANSItoUTF8_arr[q][0]){
embedSymbol=String.fromCharCode (ANSItoUTF8_arr[q][1]);
break;
}else{
embedSymbol=inString.substr(i,1);
}
}
workString+=embedSymbol;
}
return workString;
}