Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 17

Thema: Umlaute in XML Dateien fehlerhaft :(

  1. #1
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723

    Umlaute in XML Dateien fehlerhaft :(

    Juhten Tach zusammen,

    ich hätte da gerne mal ein Problem.
    Ich bin im mom dabei mich in C++ unter Linux einzuarbeiten (hab vorher Delphi unter Win programmiert) und portiere zur Übung ein Tool zum archivieren von Filmen, das ich damals für Win geschrieben hab, mit den wxLibraries auf alle X Systeme.
    Von meinem selbstgebastelten Dateiformat habe ich nun Abstand genommen und mich für XML entschieden. Als Parser kommt die libxml2 plus xmlwrapper (c++ wrapper für die libxml2) zum Einsatz und es funktioniert so weit alles wunderbar.
    Sobald ich aber einen Umlaut im XML File stehen hab (<?xml version="1.0" encoding="ISO-8859-1"?>) bekomm ich die wildesten Sonderzeichen um die Ohren gehauen. Mache ich ein solches XML File im Mozilla auf habe ich das selbe Problem.
    Andere Umlaute, sowohl in Anwendungen als auch in der Konsole, werden einwandfrei dargestellt. Lediglich die XML Files sind fehlerhaft.
    Hab gestern noch Evolution 1.4 geemerget und festgestellt, daß z.B. das Label links "Verknüpfungen" nun auch falsch dargestellt wird. In der 1.2er Version war noch alles in Ordnung. Ich meine aber auch irgendwo gelesen zu haben, daß beim Evolution große Teile auf XML umgestellt wurden. Ob das daran liegt?

    Das Problem hab ich sowohl zu Hause:
    Gentoo 1.4 (immer aktuell, 2.4.21er Kernel)

    als auch auf der Arbeit:
    RedHat 9 (sowohl mit der original libxml2 als auch nach einem Update)

    Der Mozilla/Galeon stellt einfach die Umlate nicht dar. Unterm InternetExplorer gehts. Und wie gesagt, sonst stimmen (zumindest bei meinem Gentoo (außer o.g. Evolution)) überall die Umlaute.

    Ich hoffe, Ihr könnt mir helfen;
    und falls jemand Interesse an einem Programm zum archivieren seiner Filmchen/DVDs/VHS hat, kann er das Prog gerne mal haben. Die Grundfunktionen sind zu 90% fertig.

    Hier mal ein Außzug aus meinem ProblemXML:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <MOVIE_LIST>
    <MOVIE_INFO nr="1" created="26.06.2003" last_changed="28.06.2003">
    <NAME>Der Partyschreck</NAME>
    <FILE_NAME>unknown</FILE_NAME>
    <ED2K_LINK>unknown</ED2K_LINK>
    <GENRE>Komödie</GENRE>
    <LANGUAGE>Deutsch</LANGUAGE>
    <DATA_CARRIER>
    <TYPE>DVD</TYPE>
    <COUNT>1</COUNT>
    <NUMBER>-1</NUMBER>
    </DATA_CARRIER>
    </MOVIE_INFO>
    </MOVIE_LIST>

    Das Wort Komödie wird völlig falsch dargestellt.

    Besten Dank!

  2. #2
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Ort
    ~
    Beiträge
    298
    Bei XML sind Umlaute Sonderzeichen (wie auch bei HTML) und müssen dementsprechend angegeben werben :
    Ä -> &amp;Auml;
    ä -> &amp;auml;
    ...

    JM

  3. #3
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Bei XML sind Umlaute Sonderzeichen
    Aber nur wenn als encoding Charset UNICODE ausgewählt wurde.

    Trotzdem Danke!

    Hat denn mal jemand Probiert den o.g. Schnipsel bei sich im Browser zu öffnen?!? Würd mich mal interessieren wer dieses Problem noch hat.

  4. #4
    .
    Registriert seit
    Oct 2001
    Ort
    Oberbayern
    Beiträge
    2.281

    Re: Umlaute in XML Dateien fehlerhaft :(

    Original geschrieben von Stanislaus
    ich hätte da gerne mal ein Problem.
    wenn du eine problemstellung haben willst bitte: mach dass ms endlich bugfreie software schreibt, und diese dann noch verschenkt

    (konnte nicht wiederstehen)

    wie falsch wird denn "komödie" dargestellt?
    Core i3 | 2x3tb btrfs-raid1 | 2x2tb sw-raid1+lvm2

  5. #5
    Premium Mitglied Avatar von Stormbringer
    Registriert seit
    Sep 2002
    Ort
    Hattingen/Ruhr
    Beiträge
    2.514
    Hi,

    sorry, habe mich bis dato nicht mit xml auseinander gesetzt ....
    Wenn ich den obigen Abschnitt kopiere, als html Dok speichere, und dann per IE anzeigen lasse, erscheint anhängende Ausgabe.

    Gruß
    Continuum Hierarchy Supervisor:
    You have already been assimilated.
    Save our cows - eat Vegetarians!
    (Rechtschreibreformverweigerer)

  6. #6
    Registrierter Benutzer Avatar von stefan-tiger
    Registriert seit
    Aug 2002
    Beiträge
    5.650
    leider konnte ich grad nur unter windows testen, geht aber einwanfrei

    (WinXp Prof, IE 6.0 + NS 7.01 + Opera 7.10)

    siehe anhang

    gruß
    Gentoo & Ubuntu User

  7. #7
    Registrierter Benutzer Avatar von stefan-tiger
    Registriert seit
    Aug 2002
    Beiträge
    5.650
    mal noch ne andere frage:

    was machen die xml-files? dienen die zum datenaustausch (mit wem oder was?) oder zur speicherung der daten?

    falls zweiteres, wieso hast du keine DB benutzt?

    PS: ich hätte jetzt spontan soetwas mit apache+php+mysql gemacht

    gruß
    Gentoo & Ubuntu User

  8. #8
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    3.007
    Original geschrieben von stefan-tiger
    mal noch ne andere frage:

    was machen die xml-files? dienen die zum datenaustausch (mit wem oder was?) oder zur speicherung der daten?

    falls zweiteres, wieso hast du keine DB benutzt?

    PS: ich hätte jetzt spontan soetwas mit apache+php+mysql gemacht

    gruß
    Hier mal was zu xml http://www.oreillynet.com/faqs/list.csp?id_subject=23

    Cu
    André

  9. #9
    Registrierter Benutzer Avatar von stefan-tiger
    Registriert seit
    Aug 2002
    Beiträge
    5.650
    nachtrag: im anhang jetzt unter linux -> keine probleme
    Gentoo & Ubuntu User

  10. #10
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    wie falsch wird denn "komödie" dargestellt?
    Ungefähr so: Komödie
    (hoffe, daß wird jetzt nicht umformatiert)

    was machen die xml-files? dienen die zum datenaustausch (mit wem oder was?) oder zur speicherung der daten?
    falls zweiteres, wieso hast du keine DB benutzt?
    Jo, die XML Files dienen in erster Linie zum speichern der Daten. Ich habe mich aus mehreren Gründen für XML entschieden.
    Zum einen will ich das Prog auch für Win und Mac basteln (daher auch die wxWindows Libs) und unter Win gehört eine DB ja nun nicht zum quasi Standard. Abgesehen davon sind DB Files nicht sehr gut menschenlesbar was mit XML (ein entsprechendes Stylesheet vorausgesetzt) kein Problem ist.
    Eine DB Anbindung werde ich auf jeden Fall noch einbauen aber ein komplettes DBMS vorauszusetzen finde ich für eine solche Anwendung eher übertrieben.

    Wie gesagt, das Teil ist eigentlich nur eine reine Übung und nicht der Versuch eine Super sinnvolle Anwendung zu schreiben. Welche Spielereien ich noch einbauen werde wird sich zeigen. Und ob das Teil überhaupt mal zum Einsatz kommt ist auch noch fraglich. Aber der Weg ist das Ziel und ich will endlich C++ lernen.

    jetzt unter linux -> keine probleme
    Alles klar, Danke! Jetzt weiß ich wenigstens, daß der Fehler bei mir liegt. Sehe ich das richtig, daß Du Mandrake benutzt? Wäre evtl. ein RedHat 9 Nutzer so nett auch noch mal bei sich die Darstellung zu prüfen. Hab in der Firma ein nahezu jungfräuliches RedHat 9 mit dem selben Problem.

    Besten Dank, ich werde jetzt mal weiter fummeln.

  11. #11
    Registrierter Benutzer Avatar von Berufspenner
    Registriert seit
    Mar 2002
    Ort
    Hamburg
    Beiträge
    3.007
    Hi@all

    Das wird jetzt ein wenig OffTopic, aber wie regelst du den zugriff auf die XML Datei via C++? Hast du da ein paar Links?

    Cu
    Andre

  12. #12
    Registrierter Benutzer
    Registriert seit
    Jun 2003
    Ort
    Bochum
    Beiträge
    56
    Hi,

    bei mir unter RedHat 8.0 sieht's mit Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.3) Gecko/20030312 ebenfalls so aus wie bei dir (also fehlerhaft).

    Hab allerdings RedHat komplett auf englisch, falls das irgendwas zur Sache hat.

    Mit "& o u m l ;" klappt's übrigens prächtig.

    Gruss,
    dun
    $ whatis real-life
    real-life: nothing appropriate

  13. #13
    Anoraknophobiker Avatar von Stanislaus
    Registriert seit
    Nov 2002
    Beiträge
    723
    Mit "& o u m l ;" klappt's übrigens prächtig.
    Nur das & ouml; HTML und kein XML ist. ein XML Ö als Unicode wäre & #214; und damit funktioniert es auch. Nur, daß ich kein Unicode nehmen möchte.
    Wenn o.g. Auszug in einer Datei mit der Endung .xml gespeichert wird sollte jeder Browser bei & ouml; einen Fehler melden. Bei .html gehst weil dann der Parser die Datei nicht checkt.
    (Leerzeichen hinter dem & wegdenken; ist nur weil das Forum hier sonst umformatiert)

    Das wird jetzt ein wenig OffTopic, aber wie regelst du den zugriff auf die XML Datei via C++? Hast du da ein paar Links?
    Ich nutze die libxml2 (www.gnome.org), die eh auf jeder aktuellen Gnome Kiste installiert ist und den passenden C++ Wrapper. http://pmade.org/pjones/software/xmlwrapp/
    Bis jetzt bin ich mit der Doku und den Beispielen auf der xmlwrapper Seite recht gut zu Rande gekommen.

  14. #14
    Registrierter Benutzer
    Registriert seit
    Mar 2003
    Ort
    ~
    Beiträge
    298
    Original geschrieben von Stanislaus
    ein XML Ö als Unicode wäre & #214; und damit funktioniert es auch. Nur, daß ich kein Unicode nehmen möchte.
    Dann setzt doch ein entity (z.B. <!ENTITY ouml "&amp;#214;">).

    JM

  15. #15
    Registrierter Benutzer Avatar von stefan-tiger
    Registriert seit
    Aug 2002
    Beiträge
    5.650
    das problem ist doch:

    nicht dein programm sondern deine browser.

    vielleicht installierst du mal ne neurer version und wenns geht gleich die deutsche oder ein language pack.

    mein netscape den ich verwende ist z.b. einfach heruntergeladen und nicht bei der distribution dabei.

    ich hab zwar mandrake aber ich glaube nicht dass es an was anderem liegt als deinen browsern.

    ausserdem: was kümmert dich wie die xml files in WEBbrowsern aussehn?

    willst du die etwa benutzen um später die dinger anzusehn? das kann ich mir nicht vorstellen.

    und falls doch solltest du dir ein XSLT script machen oder einen apache aufsetzen der XSLT macht, dann kann es dir egal sein dass diene browser kein üöä ÜÖÄ kann weil der ja dann &uuml; &auml; usw. bekommen würde.

    ich versteh auch nicht ganz dein ziel.

    in meinen augen sollte man SGML und abkömmlinge XML HTML XHTML SVG nicht dazu benutzen die informationen zu speichern sondern nur um sie austutauschen.

    z.b. arbeite ich ab und zu an einem projekt indem es eine datenbank gibt in der alle informationen gespeichert sind. zum datenaustausch mit anderen (firmen kunden etc.) wird SGML (in zukunft auch XML) mit definierten DTDs verwendet.
    da gibt es also ein programm dass vereinfacht gesagt die SMGL schnipsel in die datenbank bringt (in den feldern liegen dann XML konforme informationen) und aus der datenbank auch die informationen in SGML wieder herausholen kann, aber nur für den datenaustausch.

    zum "benutzen" der informationen gibt es zwei möglichkeiten:

    1. bildschirmansicht: webbrowser: ein webserver holt die (in XML form gepeicherten) informationen aus der datenbank heraus und konvertiert on-the-fly per XSLT das ganze zu HTML und schickt es an den webbrowser. natürlich wird auch vom webserver noch eine navigation aus der datenbank generiert.

    2. papierform: ausdrucken: der webserver verfährt wie in methode 1, jedoch wird kein HTML sondern soweit ich weiss PDF erzeugt und zum drucker geschickt.

    ich hoffe ich konnte dir eingige anregungen geben.

    gruß
    Gentoo & Ubuntu User

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •