PDF - Umlaute-Problem

Bei der PDF-Erzeugung werden die Umlaute nicht richtig dargestellt.Mein Shop läuft auf UTF-8.

Kann man der FPDF-Klasse die UTF-8 codierung beibringen?

Hier die Lösung:

Klasse: FPDF (core -> fpdf)

In der Funktion (Zeile 608):

folgende Zeile einfügen:

function Text($x,$y,$txt){ //Output a string $txt = utf8_decode($txt);

Hallo sani,

vielen Dank für die Problembeschreibung und die gleich gelieferte Lösung. Ich hab versucht, das ganze mal mit Herrn Müstermänn im Demoshop nachzustellen:http://demoshop.oxid-esales.com/community-edition/

sehe aber hier nix ungewöhnliches …

Gruß


Marco Steinhäuser
Community Guide
OXID eSales AG
http://twitter.com/marcosteinhaeus

Ich habe das ganze Forum durchgesehen. Leider finde ich trotzdem keine Lösung.

Die “pdf-invoice” wird z.B. mit dem Name “5812_Müller” betitelt.
Eigentlich sollte es heißen “5812_Müller”.

Gibt es eine Lösung?
Ich kann die obere Lösung nicht nachvollziehen bzw. ich mache vielleicht auch etwas falsch…

Wer kann mir bitte einen Tip geben? Wie muss ich die Datei “myorder.php” abändern?

Aktuell habe ich die Version CE 4.7.5

Vielen Dank!!

@oxid-flo,

beim PDF-Dateiname suchen in Oxid 475 application/controllers/admin/order_overview:

public function createPDF()
{
$soxId = $this->getEditObjectId();
if ( $soxId != “-1” && isset( $soxId ) ) {
// load object
$oOrder = oxNew( “oxorder” );
if ( $oOrder->load( $soxId ) ) {
$oUtils = oxRegistry::getUtils();
$sTrimmedBillName = trim($oOrder->oxorder__oxbilllname->getRawValue());
$sFilename = $oOrder->oxorder__oxordernr->value . “_” . $sTrimmedBillName . “.pdf”;

o.g. letzte Zeile 139 ändern in:

$sFilename = utf8_decode($oOrder->oxorder__oxordernr->value … (etc)

@Earlybird

Wow - super.
Vielen Dank!

Genau das funktioniert - besser geht´s nicht!

DANKE nochmals!

Das Thema ist zwar schon sehr alt, wie mir scheint aber noch oder wieder aktuell!
@marco.steinhaeuser beim erzeugen der Rechnungsdatei lautet der Dateiname statt
0815_Müstermänn.pdf
0815_Mstermnn.pdf

Gerade in Version 6.1.2 getestet.

Den Ansatz von Earlybird habe ich probiert, hilft aber nicht.

Hallo Steffen,

also meines Wissens gibt’s das Modul in der 6.1.2 gar nicht mehr sondern wurde hier ausgelagert: https://github.com/OXIDprojects/pdf-invoice-module

Hallo Marco,
das ist mir schon bewusst, daß das Rechnungsmodul ausgelagert wurde!
Soll ich da auf Github mal einen Fehler melden?

Das ist ja auch eher ein “kosmetisches” Problem.

1 Like

Ja, ist wohl das Beste. Dann haben wir das zumindest erstmal festgehalten :wink:

Da sich nach mehr als einem Jahr darauf nichts getan hat, habe ich das mal selbst gefixt.


Die ausgegebene PDF Rechnung hat jetzt einen korrekten Namen (0815_Muestermaenn.pdf),
um beim Beispiel zu bleiben, getestet in mehreren OXID6.2 Shops.

Steffen Winde

Das kannte ich leider nicht aber ich frage mich warum das nicht schon lange Standard ist?!

das weiss ich auch nicht - aber das ist ja ein grundsätzliches Problem des Oxid-Shops :slight_smile:

Die vorgestellte Lösung deckt zwar die deutschen Umlaute ab nicht aber zB tschechische Sonderzeichen. Deshalb wird bei uns im WaWi der Dateiname des PDF-Dokuments mit Rechnungs-/Bestellnummer + Zeitstempel (numerisch) vergeben.
Hat auch den Vorteil dass auf der Seite “Kundenkonto” das PDF-Dokument ohne Modul verlinkt werden kann.

Ich habe eben v2.2.0 des Modules oxid-projects/pdf-invoice-module released mit den fixes von @windes


@marco.steinhaeuser
1 Like

Danke, @windes und @ivoba!
Nur mal so als Idee: Wollen wir (vielleicht bei GitHub o.ä.) ein paar Release Notes zusammenschreiben und dann per Tweet etc. drauf verlinken?

Sind ja nur Fixes.
Ich würde jetzt bald mal V3 von dem Module initieren auf Template Basis.
Dann würde sich sowas lohnen.

1 Like

Das wäre natürlich super geil :slight_smile: