UnicodeError

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Musiker123
User
Beiträge: 40
Registriert: Donnerstag 7. März 2019, 09:48

Guten Morgen,
ich lese Daten aus eine MySql-DB und möchte diese dann als PDF drucken und erhalte diesen Fehler.

Weiss jemand wie ich z.B. das falsche Zeichen ausfindig machen kann, bzw. vielleicht umcodieren oder eliminieren kann?
Meine Forschungen haben ergeben, dass es sich hier wohl um das "€-Zeichen" handelt.
Nur finde ich dieses Zeichen nicht in dem zu druckenenden Text!!

In meinem Programmcode habe ich auf jeden Fall diese Zeile eingebaut: # -*- coding: utf-8 -*-

Vielen Dank vorab.


File "C:\Users\RCC Ulc\AppData\Local\Programs\Python\Python39\lib\site-packages\fpdf\fpdf.py", line 1636, in _enddoc
self._putpages()
File "C:\Users\RCC Ulc\AppData\Local\Programs\Python\Python39\lib\site-packages\fpdf\fpdf.py", line 1170, in _putpages
p = self.pages[n].encode("latin1") if PY3K else self.pages[n]
UnicodeEncodeError: 'latin-1' codec can't encode character '\u20ac' in position 306: ordinal not in range(256)
Sirius3
User
Beiträge: 17710
Registriert: Sonntag 21. Oktober 2012, 17:20

Der Fehler tritt in einer internen Funktion auf, wo schon gar keine Sonderzeichen mehr auftauchen sollten. Um also den Fehler rekonstruieren zu können, müßte man Dein Programm kennen. Schreibe ein minimales Programm, das lauffähig ist und den Fehler zeigt.
Benutzeravatar
__blackjack__
User
Beiträge: 13003
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

@Musiker123 Manchmal stehen wirklich nützliche Sachen in Dokumentationen von Paketen/Modulen: ein Kapitel zu „Unicode“ in der PyFPDF-Dokumentation.
Before you can use UTF-8, you have to install at least one Unicode font in the font directory (or system font folder). […]

[…]

Then, to use a Unicode font in your script, pass `True` as the fourth parameter of `add_font()`.
“Most people find the concept of programming obvious, but the doing impossible.” — Alan J. Perlis
Musiker123
User
Beiträge: 40
Registriert: Donnerstag 7. März 2019, 09:48

Vielen Dank für die Unterstützung.
Nach längerem Suchen habe ich wirklich da EURO-Symbol '€' in den Daten gefunden und eliminiert.
Ich wollte mit FPDF drucken.
Nachdem ich nun das €-Zeichen gelöscht hatte, funktionierte auch mein Druckprogramm.
Antworten