Sonderzeichen konvertieren

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

  • Sonderzeichen konvertieren

    Hallo,

    ich arbeite an eine Script zum auslesen von TS3 Servern. Bestimmte Sonderzeichen, die Nutzer in Raumnamen nutzen, können leider nicht mit htmlenteties konvertiert werden.

    Zum Beispiel wird aus:

    •·´¯` Privat/Admin ´¯`·•


    •amp;�amp;�amp;�` Privat/Admin amp;�amp;�`amp;�•

    Für einige Sonderzeichen habe ich es vorübergehend gefixed:

    PHP-Code:
        $search[] = chr(183);
        
    $replace[] = '·';
        
    $search[] = chr(180);
        
    $replace[] = '´';
        
    $search[] = chr(175);
        
    $replace[] = '¯';
        return 
    str_replace($search$replace$var); 
    aber geht es nicht unkomplezierter? Weil ich müsste ja für jedes einzelne Zeichen einen Eintrag machen.

  • #2
    Du sollst sie auch nicht konvertieren. Sorge dafür, dass überall der richtige Zeichensatz eingestellt ist. htmlentities() ist zu 99,999% überflüssig, wenn man alles korrekt macht.

    Kommentar


    • #3
      Da es sich bei dem ganzen um ein Script handelt was auf unterschiedlichen Seiten eingesetzt wird, kann ich den Leuten ja allen schlecht sagen welche Zeichensätze sie zu benutzen haben. Leider weiß ich auch nicht welchen Zeichensatz der Server auspuckt, daher benötige ich doch eine Lösung zum konvertieren dieser Zeichen.

      Und htmlententies hate ich nur kurzzeitig eingesetzt, um zu gucken ob damit die zeichen konvertiert werden.

      Kommentar


      • #4
        Zitat von Laire Beitrag anzeigen
        Da es sich bei dem ganzen um ein Script handelt was auf unterschiedlichen Seiten eingesetzt wird, kann ich den Leuten ja allen schlecht sagen welche Zeichensätze sie zu benutzen haben.
        Welche Kodierung ist denn überhaupt die problematische?
        Die des Scriptanwenders? Der kann selber umkodieren, wenn seinerseits Bedarf dazu besteht.
        Oder die der Datenquelle?

        Leider weiß ich auch nicht welchen Zeichensatz der Server auspuckt,
        Liegt dieses "weiss nicht" am Server - oder an dir, weil du dich noch gar nicht informiert hast, wo ggf. die verwendete Zeichenkodierung mitgeteilt wird?

        daher benötige ich doch eine Lösung zum konvertieren dieser Zeichen.
        Wenn dir die Kodierung nicht bekannt ist, dann kannst du diese Zeichen auch gar nicht zweifelsfrei identifizieren.
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Ausgespuckt werden die Zeichen von einem Teamspeak Server 3 über eine Verbindung die ich mit Hilfe von fsockopen erstelle. Die gleiche Schnittstelle dient auch für Verbindungen über Putty.

          Das Problem ist halt, das zum Beispiel wenn solche Zeichen eingegeben wurden:

          •·´¯`
          das auf der Seite angzeigt wird:
          •amp;�amp;�amp;�`
          Meine Testseite hat im Header folgende angabe:

          HTML-Code:
          <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

          Kommentar


          • #6
            Solange du nicht sagst welche Zeichensätze verwendet werden, kann man nur raten.

            Kommentar


            • #7
              Und wie finde ich das herraus?

              Kommentar


              • #8
                In dem du mal die Antwort des Servers auf HTTP-Ebene analysierst.
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar

                Lädt...
                X