Bien que toujours réparer les données à la source soit la meilleure solution, j'ai également trouvé cela utile dans le cas où je ne peux pas contrôler les données à la source :
select xmlelement("test", test)
from (select regexp_replace(unistr('a\0013b'), '[[:cntrl:]]', '') test from dual);
L'élément important est le regexp_replace(your_field, '[[:cntrl::]]', '')
pour supprimer les caractères de contrôle des données.