Hola,
se me ocurre que el caracter, o espacio, puede ser debido a alguna tabulación (\t) o caracter raro se te halla colado (cosa poco probable), o a que cuando generas el código dejas un espacio en blanco en el value de los input. Fijate en que dices que declaras:
Código HTML:
1.Apellido<input type="text" name="ap1" value="<? echo trim($matriz[$cont][1])?> ">
por qué no pruebas a hacer:
Código HTML:
1.Apellido<input type="text" name="ap1" value="<? echo trim($matriz[$cont][1])?>">
fijate que he eliminado el espacio en blanco que hay antes de cerrar el value. Prueba y dinos si te ha valido