Si no me equivoco, el problema es esta línea :
Código PHP:
Ver original$cabeceras .= "Content-type: text/html; charset=iso-8859-1\r\n";
Debería ser :
Código PHP:
Ver original$cabeceras .= "Content-type: text/html; charset=utf-8\r\n";
También puedes probar usar is-8859-1 como charset, con
array_map y
utf8_decode, ya que utf8_decode, decodifica los caracteres iso-8859-1 codificados con utf8.
Una pregunta, ya que no sé de XML... ¿puedes especificar el charset del documento xml? Y si es así, ¿cuál le especificaste?