Seite 1 von 1

Package inputenc Error: Unicode char � (U+FFFD)

Verfasst: Mi 10. Aug 2016, 16:27
von Nikolai
Schönen guten Tag liebe Gemeinde,

seit ein paar Tagen versuche ich vergebens den Fehler 'Package inputenc Error: Unicode char � (U+FFFD)' zu beheben. Der jedoch nur auf, wenn ich \printbibliography ans Ende setze. Deshalb muss ja was mit der .bib datei zu tun haben. Die habe ich UTF8-kodiert aus Zotero importiert. Ich verwende biber und biblatex. Ich weiß nicht wo der Fehler liegt. Hoffentlich könnt ihr mir helfen. Vielen Dank!

Nikolai

Minimalbeispiel:
  \documentclass[
a4paper,     %% defines the paper size: a4paper (default), a5paper, letterpaper, ...
12pt         %% set default font size to 12 point
]{scrartcl}  %% article, see KOMA documentation (scrguide.dvi)


\usepackage{graphicx}				
\usepackage{amssymb}
\usepackage{amsmath}
\usepackage[ngerman]{babel} % Sprache
\usepackage{float}
\usepackage{hyperref}
\usepackage{caption}
\usepackage{subcaption}
\usepackage{nicefrac}
\usepackage{siunitx}
\parindent0pt
\usepackage{float}
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber,style=numeric,isbn=false, url=false, doi=false, eprint=false]{biblatex}
\addbibresource{literatur.bib}

\begin{document}

Aufgrund dessen haben \textit{Ward et al.} \cite{ward_new_2000} eine bla bla bla.

\printbibliography


\end{document}

Dazu einen Auszug aus .bib Datei:
@article{ward_new_2000,
	title = {A new class of contrast agents for {MRI} based on proton chemical exchange dependent saturation transfer ({CEST})},
	volume = {143},
	issn = {1090-7807},
	doi = {10.1006/jmre.1999.1956},
	pages = {79--87},
	number = {1},
	journaltitle = {Journal of Magnetic Resonance (San Diego, Calif.: 1997)},
	shortjournal = {J. Magn. Reson.},
	author = {Ward, K. M. and Aletras, A. H. and Balaban, R. S.},
	date = {2000-03},
	pmid = {10698648},
	keywords = {amino acids, Barbiturates, Carbohydrates, Contrast Media, Heterocyclic Compounds, Magnetic Resonance Imaging, Nucleotides, Phantoms, Imaging, Protons}
}

@book{dossel_bildgebende_1999,
	location = {Berlin},
	edition = {2000},
	title = {Bildgebende Verfahren in der Medizin: Von der Technik zur medizinischen Anwendung},
	isbn = {978-3-540-66014-9},
	shorttitle = {Bildgebende Verfahren in der Medizin},
	abstract = {Dies ist ein Lehrbuch für Studenten der Elektrotechnik, der Physik, der Informatik und des Maschinenbaus. Daher wurde besonderer Wert auf eine verständliche Darstellung gelegt. Neben zahlreichen Illustrationen der grundlegenden Prinzipien bereichern teilweise farbige Bilder von Auswertungen bestimmter Verfahren und von Geräten den erläuternden Text.},
	pagetotal = {378},
	publisher = {Springer},
	author = {Dössel, Olaf},
	date = {1999-10-15}

Verfasst: Mi 10. Aug 2016, 17:17
von DADABBI
U+FFFD ist normalerweise der Replacement Character, also das Ersatzzeichen, das verwendet wird, wenn ein Zeichen nicht darstellbar ist. Wo der bei dir in der bbl-Datei landet, kann ich nicht sagen, da es bei mir mit deinem Beispiel (bei dem übrigens ein } am Ende von literatur.bib fehlt) nicht passiert.

Ich kann nur vermuten, dass in deinen echten Daten irgendwo ein unsichtbares Zeichen enthalten ist.

BTW: \parindent0pt ist Unfug. Irgend eine Absatzauszeichnung sollte man schon verwenden. Wenn man Absatzeinzug nicht mag, sollte man Option parskip in der KOMA-Script-Anleitung oder im KOMA-Script-Buch nachlesen!

Außerdem lädst du Paket hyperref zu früh. Das sollte man so spät wie möglich laden.

Pakete mehrfach zu laden, ist auch wenig sinnvoll.

Verfasst: Mi 10. Aug 2016, 17:24
von Gast
Mit Deiner .bib-Datei kann ich das Problem nicht reproduzieren. Bist Du Dir sicher, dass Du das Problem auf diese Einträge eingegrenzt hast? Wenn ja, dann kannst Du mit ein bisschen Rumprobieren versuchen, herauszufinden, welches Zeichen genau problematisch ist. Es könnte ein besonderes Leerzeichen, ein Bindestrich oder sonstwas sein, was nicht auf den ersten Blick auffällt.

Statt \textit{Ward et al.} könntest Du \citeauthor{ward_new_2000} nutzen (eventuell mit einem anderen Wert von maxcitenames).
journaltitle = {Journal of Magnetic Resonance (San Diego, Calif.: 1997)},
ist auch sehr unüblich. Bei Journals wird der Ort eigentlich nicht angegeben, außerdem scheint mir das 1997 dem echten Datum (März 2000) zu widersprechen.

Verfasst: Mi 10. Aug 2016, 17:48
von sudo
Probiere mal deine .bib in gemäß folgendem Beispiel in die Datei einzufügen:
\begin{filecontents}{literatur.bib}
@book{dossel_bildgebende_1999, 
   location = {Berlin}, 
   edition = {2000}, 
   title = {Bildgebende Verfahren in der Medizin: Von der Technik zur medizinischen Anwendung}, 
   isbn = {978-3-540-66014-9}, 
   shorttitle = {Bildgebende Verfahren in der Medizin}, 
   abstract = {Dies ist ein Lehrbuch für Studenten der Elektrotechnik, der Physik, der Informatik und des Maschinenbaus. Daher wurde besonderer Wert auf eine verständliche Darstellung gelegt. Neben zahlreichen Illustrationen der grundlegenden Prinzipien bereichern teilweise farbige Bilder von Auswertungen bestimmter Verfahren und von Geräten den erläuternden Text.}, 
   pagetotal = {378}, 
   publisher = {Springer}, 
   author = {Dössel, Olaf}, 
   date = {1999-10-15}
}
\end{filecontents}

\documentclass[
ngerman,	 %% Mit der Sprachangabe kann nicht nur babel etwas anfangen
a4paper,     %% defines the paper size: a4paper (default), a5paper, letterpaper, ...
12pt,        %% set default font size to 12 point
parskip=half %% Absatzauszeichnung durch größeren Durchschuss statt Einzug
]{scrartcl}  %% article, see KOMA documentation (scrguide.dvi)
\usepackage{babel} % Sprache
\usepackage[utf8]{inputenc}
\usepackage{csquotes}
\usepackage[backend=biber,style=numeric,isbn=false, url=false, doi=false, eprint=false]{biblatex}
\addbibresource{literatur.bib}
\DeclareCiteCommand{\textcite}%[\emph]% evtl. hervorheben
  {\boolfalse{cbx:parens}}
  {\usebibmacro{citeindex}%
   \usebibmacro{textcite}}
  {\ifbool{cbx:parens}
     {\bibcloseparen\global\boolfalse{cbx:parens}}
     {}%
   \multicitedelim}
  {\usebibmacro{textcite:postnote}}
\begin{document}
\textcite{dossel_bildgebende_1999}
\printbibliography
\end{document}
Wenn der Fehler dabei nicht auftritt, wird die Datei nicht richtig in UTF8 gespeichert. Ansonsten reduziere die Einträge gemäß Teile und Herrsche.

Du solltest übrigens nicht \textit{Ward et al.} schreiben. 1.) Benutze ein semantische Markup und 2.) es gibt bereits \textcite

Du solltest nicht mit
\parindent0pt
die Absatzauszeichnung komplett abschalten. Siehe die KOMA-Script-Option, die ich eingefügt habe.

Verfasst: Mi 10. Aug 2016, 17:51
von u_fischer
Deine bib-Datei ist offensichtlich 8-bit kodiert, kodiere sie nach utf8 um. Oder benütze "bibencoding=ansinew" bei den biblatex-Optionen.

Vielen Dank

Verfasst: Do 11. Aug 2016, 12:15
von Nikolai
Vielen lieben Dank an alle!!! Es lag an dem Umlaut ö von Dössel, nachdem ich das in ein oe umgeändert habe hat alles funktioniert.
Deine bib-Datei ist offensichtlich 8-bit kodiert, kodiere sie nach utf8 um. Oder benütze "bibencoding=ansinew" bei den biblatex-Optionen.
Damit klappt nun alles und danke für die restlichen Anregungen bezüglich meines Codes.

Lieben Gruß,

Nikolai

Verfasst: Do 11. Aug 2016, 12:27
von Stefan Kottwitz
u_fischer hat geschrieben:Deine bib-Datei ist offensichtlich 8-bit kodiert, kodiere sie nach utf8 um.
utf8 ist übrigens (auch) eine 8-bit-Codierung.

Stefan

Verfasst: Do 11. Aug 2016, 12:44
von u_fischer
Stefan hat geschrieben:
u_fischer hat geschrieben:Deine bib-Datei ist offensichtlich 8-bit kodiert, kodiere sie nach utf8 um.
utf8 ist übrigens (auch) eine 8-bit-Codierung.
Kennst du denn besseres Wort für die Familie latin1, mac usw?

Verfasst: Do 11. Aug 2016, 13:23
von Stefan Kottwitz
u_fischer hat geschrieben: Kennst du denn besseres Wort für die Familie latin1, mac usw?
Ich würde sie einfach "utf8-inkompatibel" nennen :-) Da utf8 heute quasi-Standard ist, u.a. vom W3C empfohlen und meist-genutzt im Web.

8-bit war auch ein Schnellschuss von mir - UTF8 hat 8-bit-Teile doch ist eigentlich ĺängen-variabel. Also passt das einschränkende 8-bit für die anderen auch. Doch ich glaub ausschlaggebend ist in 90% der Diskussionen "Nicht-utf8" gegenüber tech-Infos (X bit oder ISO-Y). Aber eine überflüssige Bemerkung von mir, ich hatte utf8 halt als 8-bit Unicode-Transformationsformat im Kopf, im Ergebnis kann man aber durchaus mehrere Byte haben.

Stefan