Support Request #5181
closedSupport for harmonized UTF-8 Support
Description
Supportanfrage
Bei XKrug haben wir ein Problem in deren ADTF flexray signal sender gemeldet (Ticket #8542) das wiederum auf ein Fehlverhalten innerhalb von ADTF schliesen lässt.
Nachstehend die Aussage von Jürgen Bubeck von XKrug mit der Bitte um Bearbeitung:
Der vom Parser gemeldete Fehler prüft auf Existenz der Datei und verhindert einen Crash des kompletten ADTF_Programms. Dieser würde auftreten, wenn die Systembibliothek einen ungültigen Dateinamen übergeben bekommen würde.
Grund:
ADTF liefert für das Property mit dem Dateipfad einen ASCII Character Array. Die Weiterverwendung dieses Strings ist bei der Nutzung von Umlauten o.Ä. nicht möglich, d.h. die angefragte Datei ist nicht auffindbar.
Das Verhalten ist von unserer Seite nicht behebbar.
Bitte diesen Fehler beim ADTF Support melden.
Workaround:
Bis einmal eine ADTF-Version existiert, die Properties als Unicode verarbeitet, kann ASCII ohne Probleme verwendet werden.
Lösung
Ja genau. Der Configuration Editor verwendet kein UTF-8 sondern für die Umlaute letztendlich ASCII-Extended Codes. Die libc versteht aber nur ASCII und UTF-8. Wenn man die Konfigurationsdatei (system.xml) händisch in UTF-8 konvertiert, kriegen die Filter auch korrekte UTF-8 Strings und dann klappen auch die cFileSystem::Exists und cFile::Open Calls wie erwartet.
UTF-8 Support wird in den GUI Komponenten von ADTF2 nicht mehr Einzug halten, bleiben also leider nur die zwei Workarounds:- Keine Dateinamen mit Umlauten etc. verwenden.
- system.xml manuell nach UTF-8 konvertieren.