UTF8 nach Singlebyte

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

Es wird ALLES mit UTF8 gemacht. Ich habe nur beim from: diese Probleme wenn es UTF8 ist. Kann ich mir ja selber nicht erklären. Deswegen dachte ich zuerst es liegt an mir. Ich suche immer erstmal den Fehler bei mir bevor ich irgendwas Poste. Auch sind dann mind. 2-3 Tage suchen und Googln ins land gegangen.

Ich schau morgen mal wie es in z.b. Outlook aussieht. Und mal beim Mailtester.

Trotzdem vielen Dank an euch.

Timm Thaler
Beiträge: 1201
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: UTF8 nach Singlebyte

Beitrag von Timm Thaler »

Also tritt das Problem nicht in deinem Programm, sondern in Roundcube auf?

Was passiert in andern Email-Programmen?
Was passiert, wenn du Emails mit diesem Text von anderen Programmen an Roundcube sendest?

HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

Soweit bin ich noch nicht. Ich muss erstmal andere Sachen Fixen. Und dann schaue ich mal, wie eben geschrieben, nach was andere Clients dazu sagen.

Mich hat nur verwirrt das es im Subject mit dem UTF8 einwandfrei geht und bei from: nicht.

Ich werde auf jeden Fall eine Rückmeldung geben.

Timm Thaler
Beiträge: 1201
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: UTF8 nach Singlebyte

Beitrag von Timm Thaler »

Ja kann auch ein Fehler im Utf8-Handling von Roundcube sein. Deswegen: Mit anderen Email-Clients prüfen. Von anderen Email-Clients an Roundcube senden.

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2358
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: UTF8 nach Singlebyte

Beitrag von m.fuchs »

Das ist weder ein Fehler von Roundcube noch einer im UTF-8-Handleing von Synapse.

Wenn ich mit mit Thunderbird folgende Mail versende:
Von:		Peter Müller <p.mueller@xample.com
An:		Peter Müller <p.mueller@xample.com
Betreff:	Tatü tata

Tüüüt
Dann wird daraus:

Code: Alles auswählen

To: =?UTF-8?Q?Peter_M=c3=bcller?= <p.mueller@example.com>
From: =?UTF-8?Q?Peter_M=c3=bcller?= <p.mueller@example.com>
Subject: =?UTF-8?Q?Tat=c3=bc_tata?=
Message-ID: <7cc0867f-de2a-3424-20e9-58337695884b@example.com>
Date: Thu, 4 Feb 2021 14:38:48 +0100
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101
 Thunderbird/68.10.0
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Language: de-DE
Content-Transfer-Encoding: 8bit

Tüüüt
Zwar ist seit einiger Zeit UTF-8 direkt in den Headerzeilen erlaubt, aber es gibt immer noch Software da draußen die nur 7-Bit-ASCII in Mail-Headern unterstützt.
Deswegen wird in den meisten Fällen umkonvertiert.

Wenn du das in deinem Programm wieder richtig anzeigen willst, benötigst du die Units mimeinln und synachar von Synapse:

Code: Alles auswählen

var
  From: String;
begin
  (* ... *)
  From := mimeinln.InlineDecode(From, UTF_8);
  (* ... *)
 end;
Umgekehrt geht es mit InlineEncode.
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

So sieht mein From: aus...

From: "=?UTF-8?Q?test_=96_Spa=DF_am_Testen?=" <name@domain.com>

Ich sehe da nun keinen Unterschied zu deinem From. Das ist direkt aus dem Header.

Timm Thaler
Beiträge: 1201
Registriert: So 20. Mär 2016, 22:14
OS, Lazarus, FPC: Win7-64bit Laz1.9.0 FPC3.1.1 für Win, RPi, AVR embedded
CPU-Target: Raspberry Pi 3

Re: UTF8 nach Singlebyte

Beitrag von Timm Thaler »

Und die Anführunggszeichen? Wo kommen die her?

Die könnten zum Beispiel verhindern, dass der inkludierte Teil als Utf8 ausgewertet wird.

Socke
Lazarusforum e. V.
Beiträge: 2916
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: UTF8 nach Singlebyte

Beitrag von Socke »

HK12 hat geschrieben:
Do 4. Feb 2021, 16:05
So sieht mein From: aus...

From: "=?UTF-8?Q?test_=96_Spa=DF_am_Testen?=" <name@domain.com>
Du hast hier ein ISO8859-1 Zeichen, gibst aber an, dass der String UTF-8 sei?!
=DF => ß (ISO8859-1)
=C3=9F => ß (UTF-8)
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Benutzeravatar
m.fuchs
Lazarusforum e. V.
Beiträge: 2358
Registriert: Fr 22. Sep 2006, 19:32
OS, Lazarus, FPC: Winux (Lazarus 2.0.10, FPC 3.2.0)
CPU-Target: x86, x64, arm
Wohnort: Berlin
Kontaktdaten:

Re: UTF8 nach Singlebyte

Beitrag von m.fuchs »

HK12 hat geschrieben:
Do 4. Feb 2021, 16:05
So sieht mein From: aus...
From: "=?UTF-8?Q?test_=96_Spa=DF_am_Testen?=" <name@domain.com>
Ich sehe da nun keinen Unterschied zu deinem From. Das ist direkt aus dem Header.
?
Kannst du nochmal genau schreiben was du machst, was das Ergebnis ist und welches Ergebnis du gerne hättest?
Software, Bibliotheken, Vorträge und mehr: https://www.ypa-software.de

HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

Hi,
sorry das ich mich nicht mehr gemeldet habe. Ich bin leider Krank aber auf dem weg der Besserung. Deine Frage wo die " her kommen kann ich einfach beantworten. Die macht synapse in der Funktion InlineEmailEx rein. Im slog kann man schön sehen was er sendet und empfängt. Auch dort steht es wie folgt.

From: "=?UTF-8?Q?Test_umlaut_f=3Fr_?=" <example@domain.com>

Ich konnte nun auch mal mit Outlook testen. Wird ebenfalls (Outlook 2013) falsch angezeigt.

Dann fragtest du was das Programm macht. Es soll eigentlich nur EMails versenden. Das subject ist ebenfalls UTF8 und wird immer richtig angezeigt.

Wenn ich ehrlich bin, verstehe ich das alles nicht.

Netten Gruß

sstvmaster
Beiträge: 442
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.0.12
CPU-Target: 32+64bit
Wohnort: Dresden

Re: UTF8 nach Singlebyte

Beitrag von sstvmaster »

Hi,

mache mal einen Test mit Thunderbird und vergleich mal. Ich habe auch probleme mit Outlook in Verbindung mit Umlauten und Thunderbird. Thunderbird versendet und empfängt in UTF-8. Outlook nutzt zur Darstellung meist das "Westeuropäisch (ISO)" Format.
versendet und empfängt auch mit UTF-8, aber dies meist nur in Verbindung mit HTML Mails. Reintext Mails haben immer Fehlzeichen.
Dateianhänge
Outlook_CodePage.jpg
Outlook_CodePage.jpg (44.14 KiB) 301 mal betrachtet
Windows 10, Lazarus 2.0.12 + Lazarus Trunk
LG Maik

sstvmaster
Beiträge: 442
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.0.12
CPU-Target: 32+64bit
Wohnort: Dresden

Re: UTF8 nach Singlebyte

Beitrag von sstvmaster »

Hier mal ein Test von Thunderbird zu Thunderbird:

Code: Alles auswählen

From: =?UTF-8?B?Test=5fumlaut=5ff=c3=bcr?= <xxxxxx@yyyyy.de>
Subject: =?UTF-8?Q?Test=5fumlaut=5ff=c3=bcr?=
Content-Type: text/html; charset=UTF-8
Content-Transfer-Encoding: 8bit
Windows 10, Lazarus 2.0.12 + Lazarus Trunk
LG Maik

sstvmaster
Beiträge: 442
Registriert: Sa 22. Okt 2016, 23:12
OS, Lazarus, FPC: W10, L 2.0.12
CPU-Target: 32+64bit
Wohnort: Dresden

Re: UTF8 nach Singlebyte

Beitrag von sstvmaster »

Wenn du mit Synapse arbeitest kennst du das schon? https://www.freepascal.org/~michael/art ... ail-en.pdf
Windows 10, Lazarus 2.0.12 + Lazarus Trunk
LG Maik

HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

Hi @sstvmaster,
ich habe mixed Mails. Also Text und HTML. Ich habe nun mal in der Unit mimeinln.pas die Funktion InlineEmailEx so geändert das die " weg sind. Leider klappt es nicht. Ist genau wie vorher.

Das ist aber nur bei From:. Beim Subject, was auch in UTF8 gesendet wird, ist alles richtig.

Ich habe gerade mal eine Test Mail an mich gesendet. Die wird Sowohl in Roundcube als auch in Outlook 2013 richtig angezeigt.

Versendet aus Roundcube (Absender Jürgen Müller): From: =?UTF-8?Q?J=C3=BCrgen_M=C3=BCller?= <test@domain.com>
Und so ein meinem Programm: From: =?UTF-8?Q?Das_Wort_Fuer_f=3Fr_?= <test@domain.com>

Das was ich sende, sieht irgendwie falsch aus. Da fehlt das C3=BC. Die Daten für mein Programm kommen aus einer MySql. Ich glaube ich werde mal schauen was die mir liefert. Das Feld ist varchar(90).
Ich habe das schon auf Text geändert und geCastet als Binary. Es bleibt trotzdem so.

@Socke hat mir den Hinweis gegeben das es ISO8859-1 ist. Dann verstehe ich allerdings nicht warum Synapse UTF8 davor schreibt. Ich gebe ja vorher mm.header.CharsetCode:=UTf_8; an.

Ich werde das mal Tracen. Ich glaube sonst findet man das nie. Ich mache bestimmt irgendwas total blödes falsch.

HK12
Beiträge: 24
Registriert: Mi 7. Feb 2018, 10:31
OS, Lazarus, FPC: Winux (FPC 3.x)
CPU-Target: xxBit

Re: UTF8 nach Singlebyte

Beitrag von HK12 »

Nachtrag:
Es muss an der DB liegen. Wenn ich das von Hand eintrage ist es richtig.

From: =?UTF-8?Q?J=C3=BCrgen_M=C3=BCller?= <test@domain.com>

Nun muss ich erstmal suchen :|

Antworten