Leyendo el hilo http://www.forosdelweb.com/f18/si-que-sustituye-ue-581111/ he descubierto que la solución no es del todo correcta. Al menos conmigo no lo ha sido.
Me explico, si le coloco el utf8_decode(), me codifica como ISO-8895-1 correctamente los caracteres que son utf8, pero los que ya son iso-8895-1 me los transforma en "?".
¿Cómo podría hacerse para que sólo cambiase los que están en utf8 y los que están en 8895-1 los dejase como están?