pedorus schreef op donderdag 12 december 2013 @ 13:42:
[...]
Dat is een ander karakter dan die in de TS. Karakter 0xB, oftewel unicode karakter 11 (vertical tab) komt niet voor in de TS. Maar dit karakter is inderdaad niet toegestaan, dus dan ligt het aan de applicatie die de "xml" (wat dus eigenlijk geen xml is) genereert.
Ok, sorry, ik had het bestand geopend met notepad en daar was het iig een ♂, ik had van de leverancier van de applicatie waar de xml's naar toe gaan ook doorgekregen dat het unicode karakter 11 was, maar aangezien het in die xml als ♂ stond ging ik er vanuit dat het dat teken betrof, foute aanname dus.
Je kunt met een tooltje als sed deze karakters veranderen/verwijderen op de command line, of met grep kijken of dit specifieke karakter aanwezig is (grep -P "\v").
Bedankt, ik ga eens kijken of ik daar verder mee kom. In jouw grep voorbeeld, daar is de "\v" de unicode karakter 11? Het andere karakter wat problemen geeft is unicode karakter 7, weet je daar ook de "code" voor? Of kan je me aangeven waar ik dit eventueel zelf kan vinden
Volgens mij doen ze het wel goed, alleen nemen ze dat teken mee in de XML wat niet is toegestaan. De tekst komt namelijk over uit een Word document. In de applicatie zelf wordt dit dan weergegeven als een ♂ en die komt dan ook weer in de XML.
Hydra schreef op donderdag 12 december 2013 @ 13:44:
Oftewel: de header staat goed maar de content is gewoon geen valid utf-8. Gebeurt enorm vaak en ik zou ook, in plaats van dit proberen op te lossen aan jouw kant, de leverancier van de data vertellen dat hun XML gewoon niet valid is.
Als je dit aan jouw kant gaat fixen blijf je bezig; ze hebben zelf niet door dat wat ze sturen meuk is.
Je hebt ook helemaal gelijk, mijn oplossing moet ook een tijdelijke zijn. Aangezien we nu "op goed geluk" die bestanden aan moeten leveren en hopen dat het goed gaat en dan wanneer het fout gaat alle xml's nalopen. Dat is gewoon geen doen. Maar ik ga dit ook zeker doorgeven aan de leverancier.