Hola, creo que una vez me paso algo similar y si mal no recuerdo lo que hice fue averiguar el valor ascci de dicho caracter "inexistente" (funcion ord creo) para luego si eliminarlo con str_replace(chr(numero_ascci),"",$cadena);
No recuerdo muy bien la verdad... pero quiza te da alguna idea.
ord() chr()
Prueba o espera, quiza viene alguno de los mas experimentados y te da una mejor solucion jeje
Exitos!!