Umlaute in "function sendimagetext"
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
angeben
ansetzen
ausgabe
bild
code
datenbank
datum
erstellen
formular
frage
funktion
header
http
image
schlauch
stadt
text
umlaut
url
verwenden
-
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
Schönen Start in die Woche wünsche ich Euch.
-
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Beide Probleme werden sich lösen, wenn du einen richtigen ttf-Font mit imagettftext() verwenden würdest…
-
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
-
aff3m1tw4ff3 schrieb:
Wozu so umständlich? Das kann doch die imagettftext schon… aber du musst ihr leider Umlaute u.ä. als
Das wäre da jetzt gerade so in etwa das was mit vorschwebt:
geben… also so:&#zahl;
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:
Beitrag zuletzt geändert: 15.10.2012 17:06:25 von hackyourlife -
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. -
aff3m1tw4ff3 schrieb:
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.
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:
üäßöä
verwenden…utf8_decode()
-
aff3m1tw4ff3 schrieb:
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.
mit
steh ich auf dem Schlauch, wo muss ich das denn noch mit angeben?utf8_decode()
Benutzt wird das so:$iso8859_1 = utf8_decode($utf8);
Beschreibung von utf8_decode() -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage