mi sa che non c'entra nulla utf8.

Riusi la stessa variabile nel while per cui al secondo ciclo non hai piu' il resource id ma un boolean true/false.

Prova a togliere lo score dal while e vedrai che poi funziona.