Toon posts:

[XML OpenOffice] Problemen met special chars

Pagina: 1
Acties:

Verwijderd

Topicstarter
ik ben bezig met het ontwikkelen van een applicatie in delphi en we hebben gekozen om de rapporten die het programma maakt in OpenOffice te maken (onze applicatie maakt zelf de xml aan en pakt het in tot OO bestand).
Nu zijn we hard aan het testen en we hebben een probleem met speciale tekens zoals è ë enz. in OpenOffice komt er in plaats van deze tekens een blokje te staan maar als ik de xml bestanden zelf open staat er gewoon het goede teken.
Ook kan in geen verschillen vinden tussen de xml code van een bestand waar ik de speciale tekens handmatig heb vervangen door de goedde tekens (dan werkt het wel) en een bestand waar ik dat niet heb gedaan.

Ik wel een workaround gemaakt met een macro maar dit moet er zo snel mogelijk weer uit want dit is natuurlijk niet netjes.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

En als er in plaats van ë een ë staat?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Dan kan ik het bestand niet meer openen omdat het corrupt is, en zo staat het in de xml bestanden die door openoffice zijn opgeslagen ook niet daar staan gewoon de speciale tekens in

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Kan je hier niets mee?

edit:

Is complete lijst van wat -NMe- al zei.

[ Voor 31% gewijzigd door riezebosch op 07-06-2005 13:16 ]

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Met welke encoding sla je het bestand op en met welke encoding declareer je de XML?
Het slimste is het vaak om de unicode entiteit te gebruiken voor niet-ascii characters.

Verwijderd

Topicstarter
ik declareer de XML met een UTF-8 encoding (dat is dezelfde als OpenOffice)
verder sla ik het bestand op met de stringlist.SavetoFile functie van delphi, als ik daarna het bestand open staan daar de juiste tekens in maar OpenOffice geeft blokjes weer als ik deze vervang door de juiste tekens en dan het bestand opnieuw open ziet het er goed uit maar ziet het XML bestand er hetzelfde uit als het XML bestand dat is gegenereerd door onze applicatie

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 09-04 22:08
Vergelijk de eerste bytes van de OO output eens met jullie output, is het gebruik van een BOM identiek?

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Glimi
  • Registratie: Augustus 2000
  • Niet online

Glimi

Designer Drugs

(overleden)
Verwijderd schreef op dinsdag 07 juni 2005 @ 13:31:
ik declareer de XML met een UTF-8 encoding (dat is dezelfde als OpenOffice)
verder sla ik het bestand op met de stringlist.SavetoFile functie van delphi, als ik daarna het bestand open staan daar de juiste tekens in maar OpenOffice geeft blokjes weer als ik deze vervang door de juiste tekens en dan het bestand opnieuw open ziet het er goed uit maar ziet het XML bestand er hetzelfde uit als het XML bestand dat is gegenereerd door onze applicatie
Ik weet bijna zeker dat Delphi de boel gewoon opslaat als iso-8859-15 of iso-8859-1. Open jij vervolgens de file met OO, dan heb je het probleem dat de niet-ascii characters een ander nummer hebben en dus niet overeenkomen. Als je de boel vervolgens veranderd en opslaat, dan zal OO het bestand als UTF-8 opslaan, omdat deze het zo intern heeft staan.
Oplossing: declareer in de XML header dat je iso-8859-15 gebruikt of sla expliciet op als UTF-8. Hoe dat laatste moet, moet je zelf even uitzoeken, ik doe geen delphi ;)

Verwijderd

Topicstarter
OK ik ben er uit ik heb nu de encoding in de XML declaratie aangepast :)

  • riezebosch
  • Registratie: Oktober 2001
  • Laatst online: 04-05 13:09
Hoe? :)

Canon EOS 400D + 18-55mm F3.5-5.6 + 50mm F1.8 II + 24-105 F4L + 430EX Speedlite + Crumpler Pretty Boy Back Pack

Pagina: 1