einzelnes Unicode Zeichen ersetzen

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

  • einzelnes Unicode Zeichen ersetzen

    Hallo Forum,

    ich suche nach einer Lösung, wie ich ein einzelnes Unicode-Zeichen mit preg_replace oder str_replace ersetzen kann. Das Zeichen wird in der Ausgabe falsch dargestellt und hat die Nummer 0084. (ist wohl ein Anführungszeichen).

    Kann mir hier jemand Hilfestellung geben?

    mein Ansatz:

    PHP-Code:
    preg_replace("/\x{0084}/","Zeichen",$string); 
    Danke
    Gruß
    Michel

  • #2
    Welcher Zeichensatz wird verwendet?

    Kommentar


    • #3
      Hallo,

      es fehlt noch der UTF-8-Modifier u am Ende.

      Gruß,

      Amica
      [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
      Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
      Super, danke!
      [/COLOR]

      Kommentar


      • #4
        Die Frage ist, ob überhaupt UTF-8 verwendet wird.

        Kommentar


        • #5
          Ich dachte, wegen \x{0084}. Wenn UTF-8 nicht verwendet wird, muss es \x84 heißen. Wenn ein anderes UTF verwendet wird muss es z. B. \x00\x84 (UTF-16BE) oder \x84\x00\x00\x00 (UTF-32LE) lauten.
          [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
          Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
          Super, danke!
          [/COLOR]

          Kommentar


          • #6
            Oh gottogottogoot,

            jetzt habt ihr mich voll erwischt und leicht überfordert..

            Äh, die Seite ist UTF-8 kodiert. Der String kommt von der API von ImmoScout24 zurück. Ich häng am Besten ein Bild an:


            Danke für eure Hilfe.

            Gruß
            Michel
            Angehängte Dateien

            Kommentar


            • #7
              Ah, danke,

              der Modifier /u war´s. Jetzt geht´s.

              Danke für eure Hilfe.

              Gruß
              Michel

              Kommentar


              • #8
                Und warum ersetzt du das Zeichen, statt den Text einfach im richtigen Zeichensatz darzustellen? Das ist ja nur eine sehr kurzfristige Lösung, bis das nächste Zeichen auftaucht, das Probleme macht.

                Kommentar


                • #9
                  Hi,

                  ich hab ja keinen Einfluß auf den Text, der kommt über einen API Aufruf zurück. Egal, was ich als Zeichensatz einstelle und in welchen ich ihn konvertiere, es sind nie alle Zeichen da.

                  Gruß
                  Michel

                  Kommentar


                  • #10
                    Zitat von Lengen1971 Beitrag anzeigen
                    ich hab ja keinen Einfluß auf den Text, der kommt über einen API Aufruf zurück. Egal, was ich als Zeichensatz einstelle und in welchen ich ihn konvertiere, es sind nie alle Zeichen da.
                    Wenn du UTF-8 verwendest, ist praktisch alles abgedeckt (nicht wirklich genau alles, aber das ist vernachlässigbar).

                    Egal in welchem Zeichensatz die API den Text liefert, du solltest ihn zumindest in UTF-8 konvertieren und darstellen können.

                    Wenn die API keinen kaputten Text liefert, halte ich das für eine faule Ausrede. Im Falle, dass kaputter Text geliefert ist, solltest du dich mit dem Anbieter in Verbindung setzen. Den hoffentlich liegt es ja auch in seinem Interesse, dass seine API kein Müll ausliefert.

                    Kommentar


                    • #11
                      Hi,

                      in UTF8 konvertiert:



                      Ich werde mich mit dem Entwicklerteam der IS24-API nicht nochmal auseinandersetzen. Das kostet mich zuviel Nerven.

                      Gruß
                      Michel

                      PS: ich vermute, dass der Kunde bei Immoscout Text auf Word oder sonst. Psychoprogrammen Copy-Pastet. Somit entstehen Zeichen, die auf der HP vielleicht dargestellt werden können, aber über die API nicht kommen.
                      Angehängte Dateien
                      Zuletzt geändert von Lengen1971; 28.09.2011, 16:13.

                      Kommentar


                      • #12
                        Bevor du irgendwas konvertierst, musst du erst mal herausfinden von was in was du konvertieren möchtest. Ohne diese Information kommt einfach irgendein Zufallsprodukt raus, aber zu 99% nicht das, was richtig ist.

                        Kommentar


                        • #13
                          ... grad hast noch gesagt mit UTF8 deck ich alles ab.

                          Ich WEISS NICHT, was von da zurückkommt. Aber alle Konvertierungsversuche schlugen fehl. Bei UTF8 werden 99% der Zeichen angezeigt, wie sie sein sollen. Bis auf die paar eben. Also, was soll ich jetzt unternehmen?

                          Gruß
                          michel

                          Kommentar


                          • #14
                            99% der Zeichen heißt, dass auch ä, ö, ü, ß, etc. richtig dargestellt werden?

                            Kommentar


                            • #15
                              Hi,

                              ja, siehe Screenshot. Ich denk schon, dass das Ei bereits in der API passiert.

                              Ich hatte schonmal Kontakt zu dem Entwicklerteam, das war sehr ernüchternd.

                              Gruß
                              Michel

                              Kommentar

                              Lädt...
                              X