guarda anche per me è un argomento complesso e non si smette mai di imparare a riguardo, quindi la mia opinione prendila comunque con le pinze, ma secondo me se ti gestisce bene tutti gli altri caratteri il problema non sta in come hai gestito il charset, ma forse è l'origine (il copia - incolla), oppure come diceva daniele è un problema legato al troncamento di una stringa, infatti se usi substr su una stringa UTF8 potresti troncare a metà un carattere ottenendo un carattere senza senso.
Siccome fai copia incolla, potrebbe essere che il carattere sia sempre nella stessa posizione e soffra sempre dello stesso problema.
Una prova potrebbe essere copiare e incollare il singolo carattere.
Purtroppo non ho altre idee.
ciao![]()