So speichern Sie die Textdatei im UTF-8
Frage
Ich verwende PDFTOTOtEXT OpenSource -Tool, um die PDF in Textdateien zu konvertieren. Wie kann ich die Textdateien im UTF-8-Format speichern, damit ich alle Akzentzeichen in Textdateien behalten kann. Ich verwende den folgenden Befehl, um den Inhalt in eine Textdatei zu extrahieren, aber keine Akzentzeichen anzusehen.
pdftotext -enc utf -8 book.pdf book1.txt
Bitte helfen Sie mir, dieses Problem zu lösen.
Danke im Voraus,
Lösung
Mit dem Befehl können Sie eine Liste der verfügbaren Encodings erhalten:
pdftotext -listenc
und wählen Sie das richtige mit dem Argument -c. Meins hier scheint standardmäßig UTF-8 zu tun. dh dein "utf-8" ist überflüssig
pdftotext -enc UTF-8 your.pdf
Möglicherweise möchten Sie Ihr Gebietsschema überprüfen (LC_ALL, LANG, ...).
BEARBEITEN:Ich habe das folgende PDF heruntergeladen:http://www.i18nguy.com/unicode/unicodeexample.pdf
und konvertierte es auf einem Windows 7 PC (Deutsch) und XPDF 3.02PL5 unter Verwendung des Befehls:
pdftotext.exe -enc UTF-8 unicodeexample.pdf
Die Textdatei ist definitiv UTF-8 codiert, da alle Zeichen korrekt angezeigt werden. Wofür verwenden Sie die Textdatei? Wenn Sie es über eine Webanwendung anzeigen, ist Ihre Inhaltscodierung möglicherweise einfach falsch, während die Textdatei so konvertiert wurde, wie Sie es wollten.
Unter Verwendung eines Browsers (die Codierung in Firefox zu ISO-8859-1 und UTF-8) oder mit einem HEX-Editor untersuchen.
Andere Tipps
Die Dinge werden ein bisschen chaotisch, also füge ich eine weitere Antwort hinzu.
Ich habe das PDF auseinander genommen und meine beste Vermutung wäre ein "Problem" mit der verwendeten Schrift:
- Öffnen Sie die PDF -Datei in Acbar Reader
- Wählen Sie den gesamten Text auf der Seite aus
- Kopieren Sie es und fügen Sie es in einen von Unicode bewussten Texteditor ein (es gibt keine "versteckte" OCR, sodass Sie tatsächliche Daten kopieren).
Sie werden sehen, dass die CodePoints, mit denen Sie enden, nicht die sind, die Sie im PDF -Leser sehen. Was auch immer die Schriftart ist, es kann sich von der im Unicode -Standard definierten Kartierung unterscheiden. Daher ist Ihr Inhalt "Wront" und es gibt nicht viel, was Sie dagegen tun können.