kostenloser Webspace werbefrei: lima-city


Umlaute in "function sendimagetext"

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Morgen,

    ich gebe mit PHP ein Image aus, das mit ImageString() erstellt wird.
    Dabei habe ich mich am Vorschlag von hackyourlife orientiert.

    Dazu habe ich mal 2 Fragen,


    1.)
    gibt es eine Möglichkeit dass auch Umlaute erkannt und ausgegeben werden? Derzeit werden Umlaute und Sonderzeichen nur durch Hieroglyphen dargestellt.
    Ich habe das Ganze auch schon mit nem Imagestring Probiert, dabei entsteht aber das gleiche Problem mit den Umlauten

    2.)
    kann man eine 2te Schriftart oder Schriftgröße einfügen? Ich habe versucht einfach eine 2te Funktion zu erstellen welche ein „2tes Design“ bereit stellt. Hat natürlich nicht geklappt.

    Bevor ich mir jetzt die Zähne beim Testen ausbreche, wollte ich mal jemanden Fragen der sich damit auskennt. Mir fehlt da gerade Komplett der Ansatz :slant:

    Schönen Start in die Woche wünsche ich Euch.
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Beide Probleme werden sich lösen, wenn du einen richtigen ttf-Font mit imagettftext() verwenden würdest…
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.



    Kann ich imagettftext() denn noch in das bereits bestehende Script mit einbinden?
    Oder muss ich dafür ein Komplett neues Script schreiben?


    Das wäre da jetzt gerade so in etwa das was mit vorschwebt:
    sendimagetext ($img, 20, 0, 10, 20, $white, "/path/arial.ttf", 
                  "Hier sind Ö,Ä,Ü Willkommen");
    
    // so einfach wäre schon schön
    }


    Aber ich vermute fast das ich das bestehende wohl nicht einfach anpassen kann :puke:
  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    aff3m1tw4ff3 schrieb:
    Das wäre da jetzt gerade so in etwa das was mit vorschwebt:
    Wozu so umständlich? Das kann doch die imagettftext schon… aber du musst ihr leider Umlaute u.ä. als
    &#zahl;
    geben… also so:
    function encodeText($text) {
    	$result = '';
    	for($i = 0; $i < strlen($text); $i++) {
    		$ascii = ord($text[$i]);
    		if($ascii > 127)
    			$result .= "&#$ascii;";
    		else
    			$result .= $text[$i];
    	}
    	return $result;
    }
    
    $width = 500;
    $height = 300;
    $font = 'arial.ttf';
    $text = <<< EOT
    Hallo, Welt!
    Das ist ein mehrzeiliger Text,
    der mit Umlauten wie z.b. äöü aber auch ß
    die Funktion von imagettftext überprüfen
    soll.
    EOT;
    
    $img = ImageCreateTrueColor($width, $height);
    
    $black = 0x000000;
    $white = 0xFFFFFF;
    
    ImageFill($img, 0, 0, $black);
    
    imagettftext($img, 14, 0, 20, 20, $white, $font, encodeText($text));
    
    header('content-type: image/png');
    ImagePNG($img);
    ImageDestroy($img);


    aff3m1tw4ff3 schrieb:
    :puke:
    :confused:

    Beitrag zuletzt geändert: 15.10.2012 17:06:25 von hackyourlife
  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Ich kann mal wieder nur Danke sagen, hab es hinbekommen.

    In der Ausgabe sind unter anderem Daten aus einer Datenbank, da mir nun die Umlaute richtig angezeigt werden, musste ich feststellen das Umlaute die ich per Formular in der DB Speichere nicht richtig abgespeichert werden.

    Es kommen dabei solche Werte in der DB an:
    üäßöä


    Vieleicht noch ein Tipp wo ich da die Fehlersuche ansetzen kann?

    Die Einträge erzeuge ich so:
    $name = mysql_real_escape_string($_POST['name'], $dbverbindung);
    $stadt = mysql_real_escape_string($_POST['stadt'], $dbverbindung); 
    
    $query = "
      INSERT INTO
        `kw_veri_berlin`
        (name, stadt)
      VALUES
        ('$name',  '$stadt')";


    Ist da schon ein Fehler? Oder muss ich schon beim Formular über das die Daten abgeschickt werden ansetzen?
    Merke schon das rutscht eher in das Theam MySQL rein.
  7. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    aff3m1tw4ff3 schrieb:
    In der Ausgabe sind unter anderem Daten aus einer Datenbank, da mir nun die Umlaute richtig angezeigt werden, musste ich feststellen das Umlaute die ich per Formular in der DB Speichere nicht richtig abgespeichert werden.

    Es kommen dabei solche Werte in der DB an:
    üäßöä
    Nein, das steht schon richtig in der DB, es handelt sich hierbei um UTF-8. Wenn du das bei deiner Ausgabe für das Bild verwenden willst musst du aber z.B.
    utf8_decode()
    verwenden…
  8. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Ahh Ok, so sieht dann also UTF-8 aus. (Bildungslücke behoben)

    mit
    utf8_decode()
    steh ich auf dem Schlauch, wo muss ich das denn noch mit angeben? Mir würde da der Header in den Sinn kommen.

    Werd aber gleich mal Google quälen was es damit auf sich hat.
  9. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    aff3m1tw4ff3 schrieb:
    mit
    utf8_decode()
    steh ich auf dem Schlauch, wo muss ich das denn noch mit angeben?
    Das musst du dort mit angeben wo du den Text als ISO-8859-1 brauchst, also z.B. beim Ausgeben in einem Bild o.ä. wenn Funktionen nicht mit UTF-8 klar kommen.

    Benutzt wird das so:
    $iso8859_1 = utf8_decode($utf8);


    Beschreibung von utf8_decode()
  10. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!