Bei meiner Umstellung auf UTF-8 musste ich herausfinden, dass FPDF standardmässig kein UTF-8 unterstützt. Auch wenn man die Datei, die mir die PDF erzeugt, auf UTF-8 umstellt, bleiben die Umlaute dennoch „falsch“. Klar, meine Daten, die ich in die Variablen speichere sind alle in UTF-8. Dagegen hilft aber diese Funktion:
utf8_decode()
Und nun funktioniert alles wieder. In meinem konkreten Fall hatte ich diese Schwierigkeiten mit Session Variablen (PHP), die aus einer MYSQL Datenbank mit Daten gefüttert wurden. Der einfache Aufruf der Variablen zeigte mir ausschließlich Fragezeichen anstelle meiner Umlaute und Sonderzeichen an. Mithilfe von
utf8_decode($_SESSION[value][x1]);
war mein Problem beseitig.
[EDIT 2008-10-18]
Nun kam ich wieder in die Situtation, dass die Ausgabe „fehlerhaft“ war. („Mülheim“)
So sah mein Code vorher aus:
$pdf->Cell(0,0,$_POST[plz].“ „.$_POST[stadt],0,1);
und mit utf8_decode() so:
$pdf->Cell(0,0,$_POST[plz].“ „.utf8_decode($_POST[stadt]),0,1);
FPDF und UTF-8 begleiten mich schon seit langem. Erkär doch bitte wie das mit dem utf8_decode geht. Ich möchte endlich mein PDF-Katalog in XTC zum laufen bringen.
Gruß
By: Ali Saglam on Oktober 10, 2008
at 1:22 pm
Hallo Ali Saglam,
in meinem Projekt sind alle Dateien als UTF-8 ohne BOM gespeichert, bis auf die Datei, die die PDF erzeugt. Die ist als ANSI abgespeichert. Innerhalb dieser Datei rufe ich Session Variablen ab, die jedoch statt mit Sonderzeichen und Umlaute als Fragezeichen dargestellt werden.
Einer meiner Variablen ist zB:
Dann habe ich den Befehl utf8_decode() genutzt und dann sah das so aus:
Das geht auch mit allen anderen Variablen. Konnte ich dir damit helfen?
LG Kevin
By: duk4yl on Oktober 10, 2008
at 5:16 pm
Hallo,
ich nutze den XTC Shop 3.04 SP2.1 und das PDF Katalog Modul von Imedes.
Da die jungs offline zu sein scheinen kann ich nur hier fragen:
Nach der Umstellung auf UTF-8 ist natürlich auch der Katalog nur noch halb so schön.
Wie könnte ich denn die Zeichen
ö für ö oder ö für das ü… mit der funktion
utf8_decode()
in form bringen?
By: Markus on April 30, 2009
at 1:59 pm
Hallo,
Also von diesem Shop System habe ich noch nie gehört – ich kann daher dazu nicht sagen. Als Tipp: Finde heraus, wie die Informationen zu der pdf zusammengefasst werden. Finde die Variablen und setze dort das utf8_decode ein. Also: utf8_decode($variableMitDenInformationen)
Wenn du weiterkommst, poste doch bitte deine Erfahrungen.
By: duk4yl on April 30, 2009
at 4:41 pm
Danke für diesen Tipp, hat mir viel Zeit erspart und funst wunderbar!!!
By: mogi on Juli 6, 2009
at 7:32 am
Vielen Dank für deinen Hinweis, genau das, was ich gesucht habe!
By: casaout on August 28, 2009
at 9:57 am
yo.. thanks for )
By: Pantie Pee Sniffing on November 9, 2009
at 6:32 pm
Danke vielmals! Genau das was ich suchte!
Gruss aus der Schweiz
rexxi
By: rexxi on November 26, 2009
at 7:55 am
Ich hab auch ein UTF-8 Problem beim erzeugen einer PDF. Umlaute werden als RAUTE mit Fragezeichen dargestellt. Wenn ich nun dein Vorschlag mit utf8_decode nutze, dann sind es keine Rauten mehr sondern FRAGEZEICHEN … ich weiß keine Lösung mehr?!?
By: sven on Dezember 17, 2009
at 2:52 pm
„utf8_encode“ hat die Lösung gebracht 🙂
Frohe Weihnachten und guten Rutsch 🙂
Greetz
Sven
By: sven on Dezember 17, 2009
at 3:15 pm
Ja, das freut mich 🙂
Gut zu wissen, dass das auch hilft.
Ich wünsche ebenfalls ein frohes Fest und ein gutes neues Jahr.
LG
By: duk4yl on Dezember 17, 2009
at 7:11 pm
danke danke danke danke…
so simple und doch so effektreich.. hast mir echt geholfen =D
By: Pat on September 26, 2010
at 6:19 pm
Neben UTF-8 hat sich in manchen Fällen auch iso-8859-15 als Zeichensatz mit deutschen Sonderzeichen bewährt.
By: Ralf on Oktober 19, 2010
at 9:41 am
utf8_decode() hat geholfen. Danke!
By: Dan on Juli 6, 2011
at 4:54 pm
Vielen Dank, das half auch mir 🙂
By: franc on Juli 20, 2011
at 2:13 pm
Puh, hat mir jetzt viel Suchen erspart.
By: itler on November 11, 2011
at 9:26 am
Danke, konnte ich auch gebrauchen.
By: Harry on Mai 8, 2012
at 12:16 pm
leider will es bei mir nicht funktioneren ;(
hier mal mein code
SetFont(‚Arial‘,’B‘,16);
$this->Cell(0,6,’Quittüung‘,0,1,’C‘);
$this->Ln(10);
//Ensure table header is output
parent::Header();
}
}
//Connect to database
mysql_connect(‚localhost‘,’name‘,‘!!pw!!‘);
mysql_select_db(‚db‘);
$pdf=new PDF();
$pdf->AddPage(L);
//First table: put all columns automatically
$pdf->Table(’select Name,Vorname,Autor,Titel from buecherfertig_relue‘);
$pdf->AddCol(‚Name‘);
$pdf->AddCol(‚Vorname‘);
$pdf->AddCol(‚Autor‘);
$pdf->AddCol(‚Titel‘);
$pdf->SetXY (10,40);
$pdf->SetFontSize(10);
$pdf->Write(5,’Das oben genannte Buch wurde erfolgreich am:‘);
$pdf->Cell(5,5,““.date(„d.m.Y“).““, FALSE);
$pdf->Write(5,““.$timestamp.““);// nur der Text ohne Zelle
$pdf->SetXY (105,40);
$pdf->SetFontSize(10);
$pdf->Write(5,’zurückgegeben‘);
$pdf->SetXY (10,45);
$pdf->SetFontSize(8);
$pdf->Write(5,’Danke für ihr Vertrauen ;)‘);
$pdf->SetXY (10,60);
$pdf->SetFontSize(10);
$pdf->Write(10,’Folgende Bücher haben Sie noch!‘);
$pdf->SetXY (10,80);
$pdf->Table(’select Name,Vorname,Autor,Titel from buecherfertig2_relue‘);
$pdf->AddCol(‚Name‘);
$pdf->AddCol(‚Vorname‘);
$pdf->AddCol(‚Autor‘);
$pdf->AddCol(‚Titel‘);
$pdf->Output();
?>
in name sind namen mit z.b. ü und diese werden als Lüth dargestellt ;(
By: rene on August 17, 2012
at 8:03 am
Vielen Dank, einfache + schnelle Lösung für mein Problem!
By: Janem on September 20, 2012
at 12:53 pm
Verwandele mal
$pdf->AddCol(‘Name’);
$pdf->AddCol(‘Vorname’);
$pdf->AddCol(‘Autor’);
$pdf->AddCol(‘Titel’);
in
$pdf->utf8_decode(AddCol(‘Name’));
$pdf->utf8_decode(AddCol(‘Vorname’));
$pdf->utf8_decode(AddCol(‘Autor’));
$pdf->utf8_decode(AddCol(‘Titel’));
Gruß und frohe Weihnachten xD
By: Ronny on November 27, 2013
at 5:03 pm
Danke. Hat funktioniert.
By: Heggen on März 28, 2014
at 7:55 am
Ich habe das Problem in der Weise lösen können, dass ich den im PDF auszugebenden Text bevor ich ihn in die Sessionvariable geschrieben habe, die dann FPDF übergeben wird, mit iconv() kovertiert habe, also
$_SESSION[’sessionvariablenname‘] = iconv(‚UTF-8‘, ‚ASCII//TRANSLIT‘, $meinText);
By: Thomas Voßfeldt on Oktober 15, 2014
at 4:13 pm