Codierungsprobleme

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Codierungsprobleme

    Hallo miteinander

    Ausgangslage: Ich erhalte von einem Programm ein XML welches ich in der Art nicht verändern kann. In diesem XML File sind leider auch Buchstaben wie "é" und "è" unkodiert. Dies stellt mich vor Probleme beim auslesen.

    ein "é" wird als é angezeigt und das è als Ú

    Wie kann ich die Zeichen entsprechend umwandeln?

    Zeichensatz des xml ist windows-1252. Auf der Webseite verwende ich iso-8859-15

    Als Workaround versuchte ich nun das é mittels preg_match zu ersetzen, was jedoch beim Ú nicht funktioniert.


    Hat mir jemand einen Denkanstoss? Komme echt nicht weiter!

  • #2
    PHP: iconv - Manual

    Kommentar


    • #3
      danke für den Anstoss!

      werde mich mal in das Thema einlesen.


      Schöne Feiertage und einen guten Rutsch!

      Kommentar


      • #4
        ein "é" wird als é angezeigt und das è als Ú
        ....
        Zeichensatz des xml ist windows-1252.
        Das sieht aber überhaupt nicht wie ein 8 Bit Zeichensatz aus.

        Bedenke:
        Nicht überall ist windows-1252 drin, wo windows-1252 drauf steht.
        (leider)
        Wir werden alle sterben

        Kommentar


        • #5
          decodierungs Problem

          Also ich lese mit einem Script eine xml Datei aus. Nun Sind in der xml öüä und sowas das konnte ich bereits erfolgreich umwandeln. Die Umlaute hab ich damit
          PHP-Code:
          utf8_decode 
          gelöst bekommen.

          Jetzt habe ich in der xml die Codierung so:
          HTML-Code:
          &ltstrong&gt
          und konnte diese mit
          PHP-Code:
          html_entity_decode 
          so umwandeln das jetzt in der Ausgabe <strong> steht. Und ab hier komme ich nicht weiter er gibt mir den Text aus der xml komplett mit dem <strong> aus.

          Wie kann ich das jetzt wieder so umwandeln das der Text an der Stelle auch FETT ist?

          Das wäre meine Zeile um die es geht:
          PHP-Code:
          html_entity_decode($strENT_QUOTES"UTF-8"); 
          hat jemand einen Rat hab jetzt soviel ausprobiert mit trim

          Kommentar


          • #6
            Normalerweise nimmt man dafür einen XML-Parser wie DOMDocument und muss sich um all das nicht kümmern.

            Kommentar


            • #7
              decodierungs Problem

              Zitat von h3ll Beitrag anzeigen
              Normalerweise nimmt man dafür einen XML-Parser wie DOMDocument und muss sich um all das nicht kümmern.
              den benutze ich auch, aber ich bekomme die xml Dateien von einer dritten Person und jeder gestaltet diese anders und ich kann in diese nicht eingreifen als muß ich notgedrungen dieses mit php lösen. Bin ja auch weit gekommen mir fehlt halt nur noch die Möglichkeit die html Ausgabe zu unterbinden oder Sie um zu wandeln.

              An der Position komme ich einfach nicht weiter.

              Kommentar


              • #8
                Zitat von phppower Beitrag anzeigen
                den benutze ich auch, aber ich bekomme die xml Dateien von einer dritten Person und jeder gestaltet diese anders und ich kann in diese nicht eingreifen als muß ich notgedrungen dieses mit php lösen.
                Wieso? Sind diese etwas kaputt? Wenn ja, zurück an den Absender. Wenn nein, dann kann sie DOMDocument problemlos lesen.

                Zitat von phppower Beitrag anzeigen
                Bin ja auch weit gekommen mir fehlt halt nur noch die Möglichkeit die html Ausgabe zu unterbinden oder Sie um zu wandeln.

                An der Position komme ich einfach nicht weiter.
                Lies die XML-Datei richtig ein und lass das mit der Umwandelei sein.

                Kommentar

                Lädt...
                X