Jeg importerer nogle XML-docs, hvor der er anvendt nogle anførselstegn, som volder mig problemer. F.eks...:
[snip] <block> Postmand Per, Postby, havde den 24. januar et læserbrev i avisen under overskriften „Abekatten fik ret“. </block> [/snip]
Problemet er, at når jeg tilgår teksten med MsXmlDOM er disse „ og “ lavet om til den samme karakter med ascii-værdien 63.
Dvs. nu er den tekst jeg får fat i...:
[snip] <block> Postmand Per, Postby, havde den 24. januar et læserbrev i avisen under overskriften ?Abekatten fik ret?. </block> [/snip]
Dvs. allerede når jeg har fat i teksten med getElementsByTagName er der foregået en konvertering, så jeg ikke engang kan komme til at erstatte problemtegnene med med noget bedre.
Encoding på dokumentet er "windows-1252", og jeg har ikke mulighed for at lave om i de dokumenter, jeg modtager.
På mig virker det som den helt rigtige løsning. Hvis du har fuldt med i den seneste skriven om sikkerhed, vil di vide at en af de vigtigste ting når vi taler web server sikkerhed er validering af input. Ved at validere dit input ordentligt, sikre du dig mod mange problemer og ubehagelige overraskelser, en validering der fejerner åbentlyse fejlmuligheder er en meget professionel måde at gøre tingene på, du kan nemlig ikke være sikker på at det kun er anførselstegn der giver problemer, hvad hvis der indtastes noget der at din webserver bliver opfattet som kode ind i dine felter, så resikere du fæle ting hvis du ikke har valideret dig ud af problemet. Det er netop sådan de store sikkerhedshuse anbefaler man gør
Men dette er ikke XML jeg selv gemmer. Det kommer fra et redaktionelt system, som anvendes på en avis. Dvs. input er slet ikke noget jeg er herre over. Derfor er den del af processen helt ude af mine hænder, jeg får bare denne XML leveret til dørtrinnet, om du vil.
"Vet" din MsXmlDOM at dokumentet er kodet med Windows-1252? Altså, starter fx dokumentet med <?xml version="1.0" encoding="windows-1252"?> ?
Har du eventuelt noen mulighet til å få konvertert dokumentet fra windows-1252 til UTF-16, som later til å være Microsofts favoritt-koding når det gjelder XML?
Dokumentet starter med <?xml version="1.0" encoding="windows-1252"?>
Jeg har dog løst problemet ved at lave en præ-processering, hvor problematiske tegn skiftes ud med andre, som ikke giver problemer.
Men mange tak for kommentaren. :)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.