[Funktion] imagestring und ISO-Sonderzeichen z.B. €

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

  • [Funktion] imagestring und ISO-Sonderzeichen z.B. €

    Hallo,

    ich habe eine Frage zur Funktion imagestring.

    Anstatt zu erklären, was mein Skript macht, setze ich besser einen Link, dann ist es denke ich einfacher zu verstehen:

    http://www.vic-fontaine.com/d_promo.php

    Wenn man beim Eintrag der Homepage nun keine Banner-URL angibt, wird ein Defaultbanner erstellt, in den per imagestring die Homepage-Beschreibung geschrieben wird.

    Alle Sonderzeichen, die nicht ISO-8859-1 sind, werden gegengeprüft, und vom Skript nicht angenommen. Bisher dachte ich, damit kommt es bei sämtlichen ISO-Zeichen nicht zu Problemen.

    Aber das Euro-Zeichen wird leider in ein Fragezeichen umgewandelt...:

    http://www.vic-fontaine.com/defaultb...=Ein+%E2%82%AC

    Ich habe mich dann nochmals ans Testen gemacht, und weitere Zeichen gefunden, die nich gehen, z.B.: ±²³µ¶

    Muss man den String nochmals konvertieren, bevor diese Zeichen per imagestring korrekt dargestellt werden?

    Den String für die URL erstelle ich folgendermaßen:
    urlencode(stripslashes($name))

    Im defaultbanner erstelle ich den Text für den imagestring folgendermaßen:
    stripslashes(utf8_decode($text))

    Wenn da jemand was weiß, wäre ich dankbar.
    Viele Grüße,
    Jan

  • #2
    Mit ISO-8869-15 wäre € möglich, mit TrueType Fonts auch.
    Zeig doch mal den Code.

    Kommentar


    • #3
      Hier der Code zur Bannererstellung:

      PHP-Code:
      <?php
        header
      ("Content-type: image/gif");

        
      $x=(int)$_GET["x"];
        
      $y=(int)$_GET["y"];
        
      $text=$_GET["z"];

        
      $bild=imagecreate($x,$y);

        
      $weiss=imagecolorallocate($bild,255,255,255);
        
      $blau=imagecolorallocate($bild,51,51,204);

        
      imagefilledrectangle($bild,0,0,$x,$y,$blau);
        
      imagestring($bild,5,10,(int)($y/2)-10,stripslashes(utf8_decode($text)),$weiss);
        
      imagegif($bild);
        
      imagedestroy($bild);

      ?>
      Und auszugsweise aus dem Hauptskript...

      Prüfung auf unterstützte Zeichen:

      PHP-Code:
            if (htmlentities(stripslashes($name),ENT_COMPAT,"UTF-8")!=
                
      preg_replace('/[^\x20-\x7E]+/'''htmlentities(stripslashes($name),ENT_COMPAT,"UTF-8"))) {
              
      $error 1;
              
      $errtext .= "Nicht unterst&uuml;tzte Sonderzeichen in Website-Name.<br />";
            } 
      Zusammenbau der Banner-URL:

      PHP-Code:
              if (($burl=="" or $burl=="http://") and $links==0) {
                
      $maxchar=floor($xres/9)-2;
                if (
      $maxchar<0$maxchar=0;
                
      $burl=substr($name,0,$maxchar);
                
      $burl=urlencode(stripslashes($burl));
                
      $burl="defaultbanner.php?x=".$xres."&y=".$yres."&z=".$burl;
              } 
      Wie kann man denn innerhalb eines image die Codepage ändern...?

      TTF habe ich auch schon überlegt... Gibt es da einen guten Opensource/Freeware-Font, den man nehmen könnte? Evtl komplett Unicode

      Kommentar

      Lädt...
      X