andrelieske: Umlaute

Hallo Profis, habe das Problem das Umlaute nicht angezeigt werden, habe bereits versucht die Umlaute durch "ö" zu ersetzen, dann funktioniert das System nicht mehr.

Die Datei hat dem Namen "de.web.smres"

Der Inhalt der Datei:

<?xml version="1.0" encoding="utf-8"?>
<res-data>
	<res id="sys.version">4.5.11 Full</res>
	<res id="frag.delete">löschen</res>
	<res id="frag.abort">abbrechen</res>
	<res id="frag.logoff">abmelden</res>
	<res id="frag.change">ändern</res>
	<res id="frag.choose">wählen</res>
</res-data>

Hat ein Profi einen Tipp wie ich die Umlaute angezeigt bekomme?

Besten Dank im voraus Gruss André

  1. Tach!

    <?xml version="1.0" encoding="utf-8"?>

    Hat ein Profi einen Tipp wie ich die Umlaute angezeigt bekomme?

    Du hast angegeben, dass der Inhalt deiner Datei UTF-8 sei, also musst du sie auch in deinem Texteditor als UTF-8 speichern.

    dedlfix.

    1. Hallo dedlfix,

      das habe ich, Konvertiert auf "UTF-8 ohne Boom"

      Gruss André

      1. Tach!

        das habe ich, Konvertiert auf "UTF-8 ohne Boom"

        Dann ist die XML-Datei ja in Ordnung. Das kann man prüfen mit einem Hex-Editor, dass die Umlaute zwei Byte belegen. Wie äußert sich nun das Problem?

        dedlfix.

  2. habe das Problem das Umlaute nicht angezeigt werden, habe bereits versucht die Umlaute durch "&ouml;" zu ersetzen, dann funktioniert das System nicht mehr.

    Welches System? MfG

    1. Tach!

      habe das Problem das Umlaute nicht angezeigt werden, habe bereits versucht die Umlaute durch "&ouml;" zu ersetzen, dann funktioniert das System nicht mehr.

      Welches System?

      Jedes. XML kennt benannte Zeichenreferenzen nur für die Zeichen <, >, &, ' und ".

      dedlfix.

      1. Hallo,

        Verstehe das nicht, was willst Du mir damit sagen?

        Jedes. XML kennt benannte Zeichenreferenzen nur für die Zeichen <, >, &, ' und ".> Tach!

        Gruss André

        1. Hallo andrelieske,

          Verstehe das nicht, was willst Du mir damit sagen?

          Jedes. XML kennt benannte Zeichenreferenzen nur für die Zeichen <, >, &, ' und ".> Tach!

          Das ist eine Antwort auf die Frage des @pl.

          Bis demnächst
          Matthias

          --
          Pantoffeltierchen haben keine Hobbys.
        2. Liebe(r) andrelieske,

          was willst Du mir damit sagen?

          in einer XML-Datei ist &ouml; nicht bekannt. Diese Entität kennt nur HTML, nicht aber XML. XML kennt wesentlich weniger Entitäten, insgesamt nur die von @dedlfix aufgezählten fünf.

          Liebe Grüße,

          Felix Riesterer.

          1. Hallo Felix,

            wenn ich dich richtig verstehe, bleibt mir nur die Umlaute durch oe, ae, ss, ue zu ersetzen, ist das korrekt?

            Gruss André

            1. Tach!

              wenn ich dich richtig verstehe, bleibt mir nur die Umlaute durch oe, ae, ss, ue zu ersetzen, ist das korrekt?

              Nein, das kann man jetzt noch nicht sagen, ob das der letztendliche Kompromiss ist. Normalerweise muss sich das Problem richtig lösen lassen, wenn man selbst korrekt arbeitet und das System ebenfalls gemäß der Standards arbeitet.

              Wichtig wäre als erstes zu überprüfen, ob die Kodierung korrekt ist. Wenn du nicht mit einem Hexeditor arbeiten möchtest, öffne die XML-Datei mal direkt im Browser. Der sollte sich beschweren, auch wenn darin die Kodierung falsch ist.

              dedlfix.

            2. @@andrelieske

              wenn ich dich richtig verstehe, bleibt mir nur die Umlaute durch oe, ae, ss, ue zu ersetzen,

              Und é durch ee. Wie gefaellt dir das, deinen eigenen Namen falsch zu schreiben?

              Genauso unsinnig waere es, Umlaute durch Zeichenkombinationen zu ersetzen – wie dieser Textabsatz bestaetigt. (Auch wenn die Umlautbuchstaben mal aus Ligaturen dieser Zeichenkombinationen enstanden sind.)

              ist das korrekt?

              Nein. XML bietet immer auch die Moeg Möglichkeit numerischer Zeichenreferenzen: bspw. &#xE4; für das Zeichen U+00E4 ä.

              Aber wie dedlfix schon sagte, solltest du das Problem mit der Zeichencodierung lösen und immer und überall UTF-8 verwenden.

              LLAP 🖖

              --
              „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
              1. Hallo Gunnar,

                &#xE4;

                Davon würde ich aber dringend abraten. Das ist ä in Codepage 1252. Es gibt so viele davon....

                Rolf

                --
                sumpsi - posui - clusi
                1. moin,

                  &#xE4;

                  Davon würde ich aber dringend abraten. Das ist ä in Codepage 1252. Es gibt so viele davon....

                  NCR's beziehen sich auf den Codepoint! Und der ist eindeutig!

                  MfG

                2. Hallo Rolf,

                  &#xE4;

                  Davon würde ich aber dringend abraten. Das ist ä in Codepage 1252. Es gibt so viele davon....

                  Nummerische Entities beziehen sich immer auf den Unicode-Codepoint. Nix mit CP1252 😉

                  LG,
                  CK

        3. Tach!

          Verstehe das nicht, was willst Du mir damit sagen?

          Jedes. XML kennt benannte Zeichenreferenzen nur für die Zeichen <, >, &, ' und

          Du hattest versucht, die Umlaute als beispielsweise &ouml; zu umschreiben. Das funktioniert nicht, weil XML solche Schreibweisen für andere als die genannten Zeichen nicht kennt. Die existieren nur in HTML. Man müsste sie erst mit einer DTD definieren. Sinnvoller ist aber, das Zeichenkodierungsproblem zu lösen.

          dedlfix.

          1. Sinnvoller ist aber, das Zeichenkodierungsproblem zu lösen.

            Sicher doch. Aber hier geht es um einen Shop! Möchtest Du dafür gerade stehen wenn Deine (zweifelsfrei) gut gemeinten Ratschläge zu weiteren Produktionsausfällen führen?

            MfG

            1. Tach!

              Sicher doch. Aber hier geht es um einen Shop! Möchtest Du dafür gerade stehen wenn Deine (zweifelsfrei) gut gemeinten Ratschläge zu weiteren Produktionsausfällen führen?

              Auf welcher Grundlage sollte ich dafür verantwortlich sein?

              dedlfix.

    2. Hallo,

      Shopsystem SmartStore 6

      Gruss André

      1. Shopsystem SmartStore 6

        Ist es der Browser der den Umlaut nicht anzeigt? Und was heißt funktioniert nicht mehr?

        MfG

        1. Hallo,

          in dieser Datei sind noch mehr Einträge, die Regeln die Inhalttexte vom Shop. Es ist ein statisches Shopsystem, es werden HTML-Seiten erstellt. Wenn ich den Code &ouml; einsetze funktioniert der ganze Shop nicht mehr.

          Gruss André

          1. Liebe(r) andrelieske,

            Es ist ein statisches Shopsystem,

            diese Information hätte bereits in das Ursprungsposting gehört.

            es werden HTML-Seiten erstellt. Wenn ich den Code &ouml; einsetze funktioniert der ganze Shop nicht mehr.

            Diese Hinweise sind bereits bekannt. Was nicht bekannt ist, ist der Name des verwendeten Shop-Systems.

            Liebe Grüße,

            Felix Riesterer.

          2. Wenn ich den Code &ouml; einsetze funktioniert der ganze Shop nicht mehr.

            Arrgh. Das Problem scheint es bei diesem Shop aber schon länger zu geben. Wende Dich an den Support! MfG

            1. Hallo,

              den Support kannst Du seit Jahren vergessen, die bekommen nicht auf die Reihe

              Gruss André

              1. Tach!

                den Support kannst Du seit Jahren vergessen, die bekommen nicht auf die Reihe

                Soll das heißen, es ist bekannt, dass der Shop technisch kaputt ist, und es geht nun darum, einen Workaround zu finden, um um diese Fehler herumzuarbeiten?

                dedlfix.

              2. Ok, dann stelle jetzt als Erstes mal fest, welche Zeichenkodierung da überhaupt eingestellt ist bei diesem Shop. Da muss es ja eine Konfiguration geben. Und anhand der ausgelieferten Seiten ist das auch zu sehen.

                MfG

  3. Liebe(r) andrelieske,

    mein Verdacht ist, dass der Browser von einer falschen Kodierung ausgeht und daher die Umlaute (und andere non-ASCII-Zeichen) nicht korrekt darstellt. Schauen wir einmal nach, was im Quelltext Deiner Seite so an Code steht... achja, Du hast keinen Link auf Deine Seite verraten. Mist. Also musst Du selber nachschauen:

    1. Auf der Seite Rechtsklick und "Seitenquelltext anzeigen" auswählen (so lautet der Eintrag im Firefox - andere Browser mögen das leicht anders nennen)
    2. Im Quelltext der Seite im <head>-Bereich nach folgendem Code suchen:
      <meta charset="utf-8">
    3. Hier wieder melden und Ergebnis berichten.

    Liebe Grüße,

    Felix Riesterer.

    1. @@Felix Riesterer

      1. Auf der Seite Rechtsklick und "Seitenquelltext anzeigen" auswählen (so lautet der Eintrag im Firefox - andere Browser mögen das leicht anders nennen)
      2. Im Quelltext der Seite im <head>-Bereich nach folgendem Code suchen:
        <meta charset="utf-8">
      3. Hier wieder melden und Ergebnis berichten.

      Was dort im Quelltext steht, ist aber irrelevant, wenn im HTTP-Header einer andere Zeichencodierung angegeben ist.

      Das sollte man sich auch ansehen – im Entwickler-Werkzeug seines Browsers, unter Netzwerk, Response headers (Antwortkopfzeilen), Content-Type.

      Und was dort steht, ist irrelevant, wenn das Dokument mit einem BOM beginnt.

      LLAP 🖖

      --
      „Wer durch Wissen und Erfahrung der Klügere ist, der sollte nicht nachgeben. Und nicht aufgeben.“ —Kurt Weidemann
      1. Lieber Gunnar,

        Du hast völlig Recht, aber - ;-) - hat der OP davon genügend Ahnung? So habe ich wenigstens einen Hinweis gegeben, was zunächst zu prüfen sei. Wenn der OP nun in der Lage ist, diesen Umstand herauszufinden, kann man wirklich weiterhelfen. Wenn nicht, erübrigt sich der ganze Thread, weil dem OP schlicht nicht zu helfen ist.

        Warten wir ab, ob der OP überhaupt wieder hier erscheint...

        Liebe Grüße,

        Felix Riesterer.

  4. Hallo an alle, vielen Dank für die vielen Ratschläge.

    Ich dachte mir das mein Problem einfacher Natur ist, ist es aber anscheinend nicht. Hätte wohl von Anfang an weiter ausholen sollen, Sorry dafür.

    Es geht um ein Login, der etwa vor 9 Jahren von einem SmartStore User programmiert worden ist, ein Kontakt zu diesem ist leider nicht mehr möglich.

    Dieser Login läuft unter PHP5 ohne Probleme, es stellen die Provider jetzt nach und nach auf PHP7 um, seitdem funktioniert der Login nicht mehr 100%ig. Es lassen sich die Grundeinstellungen nicht mehr ändern und die Umaute werden falsch ausgegeben.

    Ich habe herausgefunden das in der Programmierung JSON verwendet wird, die scheint unter PHP7 nicht mehr zu funktionieren. Die Zeichencodierung im gesamten Shop ist charset=iso-8859-1 und kann nicht geändert werden.

    Ich selbst bin kein Programmierer und habe mir in den Jahren etwas PHP und HTML angeeingnet.

    Würde mich freuen wenn mir ein Profi helfen könnte, ich habe einen Testshop mit Passwortschutz hochgeladen.

    Testshop Benutzer & Passwort: testblue

    Für das Login Benutzer & Passwort: admin

    Würde mich freuen wenn Ihr mir helfen könnt.

    Vielen Dank im voraus, Gruss André

    1. Tach!

      Die Zeichencodierung im gesamten Shop ist charset=iso-8859-1 und kann nicht geändert werden.

      Dann ist die Lösung wohl nicht, UTF-8 zu verwenden, sondern ISO-8859-1. Und das dann auch im Editor und den XML-Dateien.

      Dieser Login läuft unter PHP5 ohne Probleme, es stellen die Provider jetzt nach und nach auf PHP7 um, seitdem funktioniert der Login nicht mehr 100%ig.

      Auch Version 7 von PHP kann leider noch nicht vollständig mit UTF-8 umgehen. Aber es sind einige der Voreinstellungen in der Konfiguration und Funktionsparameter auf den Defaultwert UTF-8 umgestellt worden. Die müsstest du finden und auf ISO-8859-1 ändern. In der PHP-Dokumentation gibt es im Anhang Kapitel, die alle Änderungen auflisten, was beim Übergang zwischen den Versionen zu beachten ist. Die müsstest du hinsichtlich Änderungen an der Zeichenkodierung durchschauen und entsprechend anpassen, wenn der Shop das verwendet.

      Vielleicht ist es aber auch besser, den gesamten Shop durch ein System zu ersetzen, das noch gepflegt wird. Es gibt ja nicht nur solche Versionsänderungen in der Serversoftware, auch rechtliche Grundlagen ändern sich und sind entsprechend von der Software des Shops zu berücksichtigen.

      dedlfix.

    2. Liebe(r) andrelieske,

      Testshop

      ich sehe korrekte Umlaute.

      Zu den technischen Details:

      • Im Dokument steht eine Zeichenkodierung von ISO-8859-1
      • Der Server sendet keine Kodierungsangaben, so dass sich mein Browser an die Angaben im Dokument hält

      Wie @dedlfix schon vor mir schrieb, müssen alle Dateien in ISO-8859-1 kodiert sein (XML, JSON usw.), damit Du Dir ganz sicher sein kannst, dass der ausgelieferte Code korrekt angezeigt wird. Dazu benötigst Du einen geeigneten Text-Editor. Unter Windows (bis einschließlich 7, danach habe ich keine Ahnung) war das im Lieferumfang enthaltene "Notepad" immer ungenügend, so dass man einen geeigneten Code-Editor nachinstallieren sollte.

      Liebe Grüße,

      Felix Riesterer.

    3. Für was ist denn diese XML Datei? Die den Shop abwürgt wenn &uml; drinsteht? Das sind übrigens auch nur ASCII Zeichen. Der Sache würde ich mal nachgehen.

      MfG

      1. Tach!

        Für was ist denn diese XML Datei? Die den Shop abwürgt wenn &uml; drinsteht? Das sind übrigens auch nur ASCII Zeichen.

        Die Zeichenfolge macht es, denn die ist in XML nicht erlaubt und lässt jeden regelkonformen XML-Parser einen Fehler werfen. Das haben wir aber bereits in diesem Thread geklärt.

        dedlfix.

        1. Tach!

          Für was ist denn diese XML Datei? Die den Shop abwürgt wenn &uml; drinsteht? Das sind übrigens auch nur ASCII Zeichen.

          Die Zeichenfolge macht es, denn die ist in XML nicht erlaubt und lässt jeden regelkonformen XML-Parser einen Fehler werfen.

          Ok, verstehe. Suchmaschine anwerfen und entsprechende Literatur dazu suchen (wer's braucht).

          MfG