Randshop - Umlaute-Problem im Katalog beheben

Nachdem Umlaute im Katalog vereinzelt immer noch Probleme bereiten, hier eine Lösung:

Bei der pdf Erstellung gehen die wichtigen Sachen über die function Cell in includes\fpdf\fpdf.php. Da drin kann man praktisch "zentral" die Umlaute behandeln:

function Cell($w,$h=0,$txt='',$border=0,$ln=0,$align='',$fill=0,$link='')
{
   $txt = utf8_decode($txt) ; //neue Zeile
   
   //Output a cell
....

Da utf8_decode nach ISO8859-1 umwandelt, wird das Euro-Zeichen nicht richtig umgewandelt. Auch die langen Bindestriche in manchen DemoArtikelbezeichnungen werden zum ? umgewandelt (müssen durch die kurzen Bindestriche der deutschen Tastatur ersetzt werden).
Aber an dieser Stelle ließe sich ja noch weiter verfeinern ...

Wichtig: Natürlich sind jetzt alle utf8-Decodierungen in der themes\preisliste\index.php überflüssig und müssen entfernt werden. Auch in der includes/fpdf/pdf_preisliste.php muss das utf_decode entfernt werden.

Damit klappt jetzt die Umlautdarstellung schon mal recht schön.

Das Problem, dass bei sehr vielen Artikeln im Shop die Erstellung des PDFs so lange dauert, dass die Scriptlaufzeitbegrenzungen des Servers erreicht werden, ist natürlich immer noch existent.

Edit: Hab gerade gesehen, dass es fpdf mittlerweile in der Version 1.7 gibt. Download unter http://www.fpdf.de/downloads/releases/
In den Addons sind auch welche zur Speicheroptimierung zu finden, könnte man glatt mal testen, vielleicht ist das zweite Problem ja ein Speicher und kein Laufzeit-Problem.

Kommentar abgeben: