PHP/PDF export geeft vreemde tekens weer

Pagina: 1
Acties:
  • 610 views

Acties:
  • 0 Henk 'm!

Anoniem: 138478

Topicstarter
Om vanuit een MySQL DB via PHP een export te maken naar PDF maak ik gebruik van FPDF.
Alleen bevat de export vreemde tekens. Ipv een é krijg ik bijv 1/4 tezien.
Ik denk zelf dat het in de encoding types zit, alleen krijg ik dit niet aangepast.

Iemand ervaring met FPDF of een idee wat het kan zijn?

Thnx already!

wes

Acties:
  • 0 Henk 'm!

  • Cartman!
  • Registratie: April 2000
  • Niet online
Ik denk zelf dat het in de encoding types zit, alleen krijg ik dit niet aangepast.
Wat heb je al geprobeerd dan? Werkt het wel als je het gewoon op je scherm tovert en meer van dat soort vragen.

oh, en je hoort dit te plaatsen in Programming.. dit heeft niks met clientside scripting te maken.

[ Voor 19% gewijzigd door Cartman! op 27-08-2008 16:25 ]


Acties:
  • 0 Henk 'm!

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Anoniem: 138478 schreef op woensdag 27 augustus 2008 @ 16:10:
Om vanuit een MySQL DB via PHP een export te maken naar PDF maak ik gebruik van FPDF.
Alleen bevat de export vreemde tekens. Ipv een é krijg ik bijv 1/4 tezien.
Ik denk zelf dat het in de encoding types zit, alleen krijg ik dit niet aangepast.

Iemand ervaring met FPDF of een idee wat het kan zijn?

Thnx already!

wes
FPDF gebruikt standaard lettertypen met Win1252-codering.
Je zult zelf een eigen lettertype met codering moeten maken of de teksten omzetten met de mb_convert_encoding en/of iconv functies.

Ik zie alleen niet hoe je van een é een ¼ maakt (er van uitgaande dat je UTF-8 gebruikt).

Developer Accused Of Unreadable Code Refuses To Comment


Acties:
  • 0 Henk 'm!

Anoniem: 138478

Topicstarter
Cartman:
op het scherm (in de applicatie) staan de tekens wel goed. ik heb getracht uit (UFPDF: Unicode/UTF-8 extension for FPDF) de enc types te kopieren. Alleen heb ik geen zin om alle fpdf export classes aan te gaan passen of de hele export app opnieuw te gaan schrijven.

Icelus:
van de é een 1/4 maken was meer een algemeen voorbeeld. Het is namelijk dat hij van Bjürk - Bjürk maakt.

Acties:
  • 0 Henk 'm!

  • Icelus
  • Registratie: Januari 2004
  • Niet online
Anoniem: 138478 schreef op woensdag 27 augustus 2008 @ 16:28:
Cartman:
op het scherm (in de applicatie) staan de tekens wel goed. ik heb getracht uit (UFPDF: Unicode/UTF-8 extension for FPDF) de enc types te kopieren. Alleen heb ik geen zin om alle fpdf export classes aan te gaan passen of de hele export app opnieuw te gaan schrijven.

Icelus:
van de é een 1/4 maken was meer een algemeen voorbeeld. Het is namelijk dat hij van Bjürk - Bjürk maakt.
Dat is inderdaad logisch. Een ‘ü’ in UTF-8 wordt als twee karakters zichtbaar in CP1252, waaronder een ¼.

Een andere oplossing is om de Cell-methode in de FPDF-class aan te passen (of nog beter een exacte functie in een afgeleidde klas te zetten).

Zet als eerste regel in de Cell functie:
PHP:
1
$txt = mb_convert_encoding( $txt, 'CP1252', 'UTF-8' );
Dit zet alle teksten om van UTF-8 naar CP1252.

Edit: Houd er wel rekening mee dat maar een deel van de karakters in CP1252 aanwezig zijn!

[ Voor 4% gewijzigd door Icelus op 27-08-2008 16:50 ]

Developer Accused Of Unreadable Code Refuses To Comment


Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 04-07 15:03

NMe

Quia Ego Sic Dico.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

  • Noork
  • Registratie: Juni 2001
  • Niet online
Anoniem: 138478 schreef op woensdag 27 augustus 2008 @ 16:28:
ik heb getracht uit (UFPDF: Unicode/UTF-8 extension for FPDF) de enc types te kopieren.
Je kunt toch gewoon geheel gebruik maken van UFPDF? Of mis je daar dingen in?

Een 2e optie is om vooraf de Mysql input al te converteren naar iso-8859 of win-1252.
7. Accented characters are replaced by some strange characters like é.
Don't use UTF-8 encoding. Standard FPDF fonts use ISO-8859-1 or Windows-1252. It is possible to perform a conversion to ISO-8859-1 with utf8_decode(): $str = utf8_decode($str);
Bron: http://www.arshabelton.com/fpdf/FAQ.htm

[edit]mmh ben ietsjes te laat.

[ Voor 6% gewijzigd door Noork op 27-08-2008 16:38 ]


Acties:
  • 0 Henk 'm!

Anoniem: 138478

Topicstarter
THNX Icelus!
Het werkt, echt super bedankt _/-\o_ bow down to the master.

De rest ook erg bedankt voor julie reacties!

-NME-
sry voor het verkeerd plaatsen van mijn topic, zijn er zoveel... :z

Acties:
  • 0 Henk 'm!

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 04-07 15:03

NMe

Quia Ego Sic Dico.

Anoniem: 138478 schreef op woensdag 27 augustus 2008 @ 16:45:
-NME-
sry voor het verkeerd plaatsen van mijn topic, zijn er zoveel... :z
offtopic:
Ik weet niet of je die smiley zo bedoeld zoals die nu overkomt, maar zelfs al zijn het er veel: je post je topic in een bepaald subforum. Dan lees je toch op zijn minst van dat subforum de stickies door? Of op zijn minst Waar hoort mijn topic?, waarvan je toch uit de titel wel op kan maken dat erin staat waar je zijn moet?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Acties:
  • 0 Henk 'm!

Anoniem: 138478

Topicstarter
-NMe- schreef op woensdag 27 augustus 2008 @ 16:49:
[...]

offtopic:
Ik weet niet of je die smiley zo bedoeld zoals die nu overkomt, maar zelfs al zijn het er veel: je post je topic in een bepaald subforum. Dan lees je toch op zijn minst van dat subforum de stickies door? Of op zijn minst Waar hoort mijn topic?, waarvan je toch uit de titel wel op kan maken dat erin staat waar je zijn moet?
offtopic:
Sinds wanneer is programmeren in PHP alleen voor het web. Wat als heel toevallig deze app intern draait en alleen de pdf's naar het netwerk gaan? Hoort de topic hier dan wel thuis?

Acties:
  • 0 Henk 'm!

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 10-07 21:22

Creepy

Tactical Espionage Splatterer

Je slaat de spijker op z'n kop, dus waarom heb je je topic dan in WEB geplaatst? -NMe- verplaatste je topic vanuit WEB naar PRG toe. Je merkt nu blijkbaar zelf ook ineens dat je dat verkeerd hebt geplaatst ;)

Die :z smiley is niet nodig. Als je het al vertikt om blijkbaar de sticky topic even door te lezen (en dat zijn er zeker niet veel) dan kan je maar beter niks posten. Voor vragen over FPDF zul je in eerste instantie bij de makers moeten zijn en als je hier een topic wilt open zul je meer informatie moeten geven zoals in Programming Beleid - De Quickstart staat uitgelegd.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.