Vaya... seguí buscando y dí con la causa del problema.
La pongo aquí por si a alguien le sirve (copiado de
http://bugs.php.net/bug.php?id=22277&thanks=6):
Cita: utf8_encode() only supports iso-8859-1 to UTF-8 conversion, whilst the
charset that covers euro sign is iso-8859-15.
Try iconv extension instead.