HTML-Entities

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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
    Last edited by 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

    Comment


    • #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

      Comment


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

        Comment


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

          Shitstorm Podcast – Wöchentliches Auskotzen

          Comment


          • #6
            muss es utf-8 sein?

            Comment

            Working...
            X