HTML-Entities

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

  • HTML-Entities

    Hallo!

    Ich benutze auf unserem Server z.T. noch PHP 4.4.4 und habe das Problem, dass ich in einer Datenbank z.B. den Wert

    PHP-Code:
    вапроч 
    stehen hab. Wenn man das im Browser anzeigt, funktioniert das wunderbar. Leider möchte ich das aber auch in einem PDF anzeigen und da wird einfach der Code wie oben angezeigt (Ich benutze fpdf). Hat jemand einen Tipp für mich wie ich erreichen kann, dass die Codes in ihre entsprechenden Werte umgewandelt werden? html_specialchars_decode geht halt erst ab PHP 5 (geht das damit überhaupt?) und html_entity_decode macht's natürlich nicht.

    Danke.

    Gruss,

    Bernd
    Zuletzt geändert von yezariel; 31.01.2007, 13:57.
    mens agitat molem

  • #2
    Sollte aber eigentlich mit deiner Version funktionieren. Ansonsten steht hier noch ein Workaround für niedrigere Versionen:

    http://de.php.net/manual/de/function...ity-decode.php

    Ansonsten: Datenbank auf ein System mit höherer PHP-Version dumpen und aufräumen
    [FONT="Helvetica"]twitter.com/unset[/FONT]

    Shitstorm Podcast – Wöchentliches Auskotzen

    Kommentar


    • #3
      Ok, erst mal danke für den Hinweis. Ich habe mir diese Funktionen dort gezogen:
      PHP-Code:
          function utf8_replaceEntity($result){
             
      $value = (int)$result[1];
             
      $string '';

             
      $len round(pow($value,1/8));

             for(
      $i=$len;$i>0;$i--){
                 
      $part = ($value & (255>>2)) | pow(2,7);
                 if ( 
      $i == $part |= 255<<(8-$len);

                 
      $string chr($part) . $string;

                 
      $value >>= 6;
             }

             return 
      $string;
          }

          function 
      utf8_html_entity_decode($string){
             return 
      preg_replace_callback('/&#([0-9]+);/u''utf8_replaceEntity'$string);
          } 
      Funktioniert an sich im Browser wunderbar wenn ich das hier mache:
      PHP-Code:
         header('Content-Type: text/html; charset=UTF-8');
         echo 
      $string
      Nur im PDF zeigt es leider nicht die Werte an wie im Browser weil im Browser kann ich natürlich sagen, dass utf8 codiert wird und das auch so dargestellt werden soll. Ich habe das header-Kommando in der fpdf-Klasse auch so geändert:
      PHP-Code:
      Header('Content-Type: application/pdf; charset=UTF-8'); 
      (Funktioniert das überhaupt??) Aber auch das hat nichts gebracht... Irgendeine Idee??

      Gruss,

      Bernd

      PS: Die Sache mit PHP 5 und aufräumen steht mir noch bevor aber bevor ich die Aktion angehe wäre ich froh wenn ich's auch so hinbekäme...
      mens agitat molem

      Kommentar


      • #4
        Sorry wenn ich's nochmal hier antriggere. Ich hab mal ein kleines Screenshot-gif gemacht von dem wie's angezeigt wird (Siehe Anhang).
        Angehängte Dateien
        mens agitat molem

        Kommentar


        • #5
          Hat die Schriftart evtl. diese Zeichen nicht?
          [FONT="Helvetica"]twitter.com/unset[/FONT]

          Shitstorm Podcast – Wöchentliches Auskotzen

          Kommentar


          • #6
            muss es utf-8 sein?

            Kommentar

            Lädt...
            X