Steuerzeichen sind die Zeichen mit einem Zeichencode von 0 bis einschließlich 31 (bzw. 0x00 bis 0x1F). Alles darüber sind keine Steuerzeichen mehr.
Würdest du dich ein wenig mit Zeichencodierung auskennen, wüsstest du, dass alle Zeichen ab 128 (0x80-0xFF) nicht mehr ASCII-kompatibel sind. Die meisten Zeichenkodierungen nutzen den letzten ungenutzen Bit (und somit die Zeichen von 128 bis 255) für weitere Zeichen, UTF-8 funktioniert da ein wenig anders. Ist das höchstwertige Bit eines Bytes eine 1, wird das Zeichen über mehrere Bytes dargestellt. Die nachfolgenden Bytes müssen dann ebenfalls mit einer bestimmten folge von Bits beginnen und die restlichen undgenutzten Bits werden zur Darstellung des Zeichencodes verwendet.
Du solltest sicher gehen, dass bei der Generierung des Dumps auch _wirklich_ gültiger UTF-8 Code entsteht, da dies offensichtlich nicht der Fall ist. Entweder wird eine andere Kodierung verwendet oder es werden Binärdaten in die Datei geschrieben.
Wenn es sich am Ende um eine XML-Datei handeln sollte, wäre es eine Überlegung wert, die Steuerzeichen durch entsprechende
Entitäten zu ersetzen. Ungültige Zeichen einfach zu löschen halte ich für keine gute Idee, da so wahrscheinlich eher Symptome verschleiert werden, als dass das eigentliche Problem behoben wird. (Und wie bereits geschrieben vermute ich, dass die Generierung der Datei grundsätzlich nicht funktioniert.)