Heute bin ich auf ein (im nach hinein nachvollziehbares) aber doch gut verstecktes Problem gestoßen:
Ich hab ein umfangreiches Programm in dem der Anwender verschiedene "Objekte" anlegen und benennen kann. Das ganze wird dann als
XML-Datei gespeichert (z.B.: <Name>Mein Name</Name>).
Das funktioniert schon jahrelang so

aber gestern war dann ein Teil der Datei nicht mehr vorhanden und nach eingehender Analyse liegt der Grund in der Überschrift verpackt! Der Auslöser war der Versuch einen Namen wie "Mein_Test" einzugeben. Dabei ist der Anwender beim Underline unabsichtlich statt auf Umsch+'-' an ein Strg+Umsch+'-' geraten. Das bewirkt aber nicht wirklich etwas (ein Schelm wer da jetzt böses denkt), daher hat er dann nochmal ein "_" eingegeben und den Namen vollendet.
Das funktioniert solange problemlos, bis man versucht die Konfiguration abzuspeichern, den
XML mag keine Steuerzeichen und Strg+Umsch+'-' ergibt #$001F (
Unit Seperator). Weil der kleine Kerl unsichtbar bleibt ist das natürlich doppelt fies aber gut er ist nicht allein, die meisten Steuercodes im Bereich von $1 - $1f (mit den bekannten Ausnahmen) sind nicht so ganz
XML-kompatibel.
Daher jetzt die Frage wie macht ihr das, wenn ihr
XML als Dateiformat verwendet. Filtert ihr da einfach alle Eingaben direkt beim Edit-Feld?
Ich würde mir ja eine property wünschen, damit das Editfeld so was erst gar nicht annimmt?