Codierung vom Euro-Zeichen

Alles andere zum Thema FPDF und PDF Format
Dachlatte
Benutzer
Beiträge: 22
Registriert: Do 11. Jul 2013, 15:06

Codierung vom Euro-Zeichen

Beitragvon Dachlatte » Mo 14. Apr 2014, 11:35

Ich habe leider immer noch das Problem dass das Euro-Symbol in meinen PDFs nur mit einem Fragezeichen dargestellt wird. Ich habe versucht überall mit UTF-8 zu arbeiten. Im Moment sehen die Einstellungen wie folgt aus:

Code: Alles auswählen

header('Content-Type: text/html; charset=iso-8859-1');

Wenn ich hier auf

Code: Alles auswählen

header('Content-Type: text/html; charset=UTF-8');

umstelle werden mir in den Tabellen die festen Bezeichner mit Umlauten so dargestellt: f�r anstatt "für".

Code: Alles auswählen

$this->html .= '<table border="0" align="center" width="980px"';
$this->html .='<tr><td>Kommentar für KV:</td>';
...

Außerdem:

Code: Alles auswählen

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

In FPDF werden die in der Datenbank korrekt gespeicherten Texte so ausgegeben

Code: Alles auswählen

$this->MultiCell(0,5,utf8_decode($this->sql->KVText),1,'L',0);

damit ein Umlaut auch wirklich ein Umlaut ist.

Aber das Euro-Symbol war noch nie ein Euro-Symbol.
Was kann hierfür die Ursache sein?

Dachlatte
Benutzer
Beiträge: 22
Registriert: Do 11. Jul 2013, 15:06

Beitragvon Dachlatte » Mo 14. Apr 2014, 13:08

Oder aber..
wie muss ich die Datenbank (möglicherweise?) konvertieren wenn ich die Einstellungen ändere auf:

Code: Alles auswählen

header('Content-Type: text/html; charset=UTF-8');

<meta http-equiv="content-type" content="text/html; charset=utf-8" />

$sql = "SET NAMES utf8 ";

Code: Alles auswählen

$sql = "SET NAMES utf8 ";

steht bisher auf

Code: Alles auswählen

$sql = "SET NAMES latin1 ";


Ich habe die Datenbank mit allerhand Daten übernommen, und würde das ganze gerne korrigieren falls notwendig. Der Zeichensatz des Servers ist laut phpMyAdmin:
Server Zeichensatz: UTF-8 Unicode ( utf8 )

Dachlatte
Benutzer
Beiträge: 22
Registriert: Do 11. Jul 2013, 15:06

Beitragvon Dachlatte » Mo 14. Apr 2014, 14:48

alsoo.. zufällig habe ich heute diese Seite im Web gefunden:
http://www.d-mueller.de/blog/utf-8-fur-php-programmierer-und-webanwendungen/
und konnte damit meine Anwendung soweit auf UTF-8 umstellen dass jetzt folgende Einstellungen gültig sind:

Code: Alles auswählen

header('Content-Type: text/html; charset=UTF-8');
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
$sql = "SET NAMES utf8 ";


Geblieben ist mir aber immer noch das Problem mit dem €-Symbol

wbl
Benutzer
Beiträge: 2
Registriert: Mo 28. Apr 2014, 15:17

Beitragvon wbl » Mo 28. Apr 2014, 15:28

Das Problem mit dem Euro-Symbol habe ich in meinen Rechnungen so gelöst:

Code: Alles auswählen

define('EURO', chr(128));
define('DOT', chr(183));

Bsp.:

Code: Alles auswählen

$pdf->Cell(25, 5, number_format($bruttosumme, 2, ',', '.').' '.EURO, 'B', 0, 'R');

Funktioniert einwandfrei... bei mir ;)

wbl
Benutzer
Beiträge: 2
Registriert: Mo 28. Apr 2014, 15:17

Beitragvon wbl » Di 13. Jan 2015, 10:49

Dachlatte hat geschrieben:[...]
Aber das Euro-Symbol war noch nie ein Euro-Symbol.
Was kann hierfür die Ursache sein?


Gerade zufällig herausgefunden, es liegt wohl an utf8_decode().
Weitere Infos und eine Lösung vgl. dieser Kommentar auf php.net: http://php.net/manual/de/function.utf8-decode.php#88488


Zurück zu „Sonstiges“

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast