Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Umlaute im XML falsch - Wie Datei laden?
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

Themenstarter:

Umlaute im XML falsch - Wie Datei laden?

beantworten | zitieren | melden

Ich habe ein XML in dem die Umlaute nicht richtig decodiert sind. Ich habe das Dokument so bekommen und frage mich nun ob man diese Umlaute wieder korrekt einlesen kann.

Ich habe bereits den Text mit allen möglichen Codierungen einzulesen (UTF8, iso-8859-1,...) es werden jedoch immer merkwürdige Zeichen eingelesen (us-ascii = ???, iso-8859-1 = �, utf8 = ý).

Ich habe einmal ein Bild hochgeladen, damit ihr weisst, was ich überhaupt meine.
Attachments
private Nachricht | Beiträge des Benutzers
svenson
myCSharp.de - Member



Dabei seit:
Beiträge: 8.746
Herkunft: Berlin

beantworten | zitieren | melden

Ist im Dokument ein Encoding angegeben?
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

Themenstarter:

beantworten | zitieren | melden

Ja es ist utf8 angegeben.

Der Kopf der Datei lautet:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
private Nachricht | Beiträge des Benutzers
TiltonJH
myCSharp.de - Member

Avatar #avatar-3134.png


Dabei seit:
Beiträge: 87
Herkunft: Leipzig

beantworten | zitieren | melden

1. ich würde mal überprüfen ob die datei wirklich UTF8 ist, wenn die sich mit nem hex editor anschaut müsste dann da wo sich ein ü befindet ein
C3 BC
zu lesen sein, auserdem sollten UTF8-dateien immer in den ersten 3 byte
EF BB BF
enthalten
und wenns kein UTF8 is is die XML beschreibung quark
--> beschwerde an den der das verbrochen hat

2. schon mal die "default"-codierung versucht? das dürfte auf den den deutschen ms-win rechnern der Windows-1252 codierung entsprechen
"In der Informatik geht es genauso wenig um Computer wie in der Astonomie um Teleskope."
Edsger W. Dijkstra

The Humble Programmer by Edsger W. Dijkstra
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

Themenstarter:

beantworten | zitieren | melden

zu 1:
Die ersten Zeichen im Dokument sind "3C 3F" was wie ich herausgefunden habe "ISO-8859-1" entspricht

Umlaute (ä, ö, ü, ß) und Sonderzeichen werden im Hexeditor (HxD) als "�" dargestellt, was dem HEX "EF BF BD" entspricht.

zu 2:
Ja ich habe auch default pobiert, ich habe alle Encoding Varianten durchprobiert, die mir "Encoding" anbietet


ciao Anke
private Nachricht | Beiträge des Benutzers
ujr
myCSharp.de - Experte



Dabei seit:
Beiträge: 1.688

beantworten | zitieren | melden

Hi hurricane,

wenn Du die Muster kennst, würde ich einfach mal Suchen/Ersetzen drüber laufen lassen, evtl. auch im Hex-Editor.
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

Themenstarter:

beantworten | zitieren | melden

@ujr

Da alle Sonderzeichen den gleichen Code enthalten, kann ich leider nicht mit Suchen und Ersetzen ran gehen.
Es ging mir auch eigentlich generell darum, ob man die Sonderzeichen noch laden kann, wenn das XML bereits falsch formatiert wurde, wo wie in diesem Beispiel.

Da aber wirklich immer genau der selbe Hexcode verwendet wird, kann man das wohl nicht mehr gerade biegen.

trotzdem danke

sagt Anke
private Nachricht | Beiträge des Benutzers
ujr
myCSharp.de - Experte



Dabei seit:
Beiträge: 1.688

beantworten | zitieren | melden

Zitat von hurricane
Da alle Sonderzeichen den gleichen Code enthalten, kann ich leider nicht mit Suchen und Ersetzen ran gehen.

Also alle ä, ö, ü sind identisch? Dann ist eine Unterscheidung sowieso unmöglich, da hilft auch kein Wechsel der Kodierung. Unterschiedliche Zeichen müssen schon als unterschiedlich zu erkennen sein.
private Nachricht | Beiträge des Benutzers
hurricane
myCSharp.de - Member

Avatar #avatar-1740.jpg


Dabei seit:
Beiträge: 379
Herkunft: bei Berlin

Themenstarter:

beantworten | zitieren | melden

Ja, das ist mir auch jetzt erst aufgefallen als ich mit dem HEX Editor reingeschaut habe. Keine Ahnung wie und womit derjenige es erzeugt hat
private Nachricht | Beiträge des Benutzers