Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

Beim Export von Berichten im Textformat sind die Punkte der Umlaute verschoben

Begonnen von sonja, März 11, 2018, 16:52:04

⏪ vorheriges - nächstes ⏩

sonja

Ich exportiere an mehreren Stellen Berichte als Text. Seit einiger Zeit werden dabei die Umlaute nicht mehr richtig angezeigt.
In der Berichtsansicht stimmt alles.

Beim Versenden des Berichts als E-Mail werden die Umlaute aus Textfeldern (Nicht aus Bezeichnungsfeldern!) so ausgegeben: Bra¨hler, Selbstmitgefu¨hl
Der Textkörper wird aus dem Bericht mit
Line Input #1
erzeugt.
Das gleiche Problem tritt auch beim Textexport auf:
DoCmd.OutputTo acOutputReport, "NamedesBerichts", acFormatTXT, strPath

Hat hierzu jemand eine Idee?


sonja

Mit times new roman habe ich es schon versucht - ohne Erfolg
Gibt es eine vielversprechendere Möglichkeit?

DF6GL

Hallo,

habe überlesen, dass der Text aus einer Text-Datei eingelesen wird.

Prüfe mal, welche Kodierung diese Text-Datei hat (ASCII, Ansii, Utf8 etc.)  (Notepad++ verwenden!)


sonja

Die durch Export erzeugte Textdatei hat das Format ANSI.
Auch die, die später wieder eingelesen wird.

DoCmd.OutputTo acOutputReport, BerichtName, acFormatTXT, "S:Output.txt"

DoCmd.OutputTo acOutputReport, "RechnungEDI_b", acFormatTXT, strPath

Der Fehler entsteht also jeweils bei diesem Befehl und zwar nur bei Text der aus Datenbankfeldern stammt, nicht bei Bezeichnungsfeldern


sonja

E gelingt mit zwar den output mit utf-8 zu codieren
DoCmd.OutputTo acOutputReport, BerichtName, acFormatTXT, "S:Output.txt", , , 65001

'Textdatei wird zeilenweise wieder eingelesen

Open "S:output.txt" For Input As #1
Do While Not EOF(1)
Line Input #1, Zeile
Zeile = "<p style='font-family:Arial Narrow, Arial, Helvetica,sans-serif; font-size:11pt;font-color:#000000;'>" & Zeile & "</p>"
    EmailText = EmailText & Zeile & Chr(13) & Chr(10)
        letzteZeile = Zeile
Loop


Close #1

Allerdings ist es dann nach dem Input noch schlimmer  :'(

nach outputto:
Gogolin, Einführung in die Interkulturelle Pädagogik

nach input im E-Mail Textkörper:
Einführung in die Interkulturelle Pädagogik

DF6GL

Hallo,


offensichtlich handelt es sich um HTML-Code.  Dann muss im Header die Kodierung angegeben werden :

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

und/oder die Umlaute direkt umgewandelt werden:

http://wiki.selfhtml.org/wiki/Referenz:HTML/Zeichenreferenz


Für einen Zeilenumbruch ist Tag "<br>"   zu benutzen.

sonja

Ich konnte herausfinden, das das Problem nur bei Textfeldern auftritt, deren Inhalte aus einer anderen Anwendung importiert wurden. Da das fast alle sind, hat es ewig gedauert, bis ich darauf gekommen bin. Damit ist klar, dass der Fehler nicht in Access zu suchen ist.

Trotzdem vielen Dank für die Hinweise!