Newsletter: Umlaute

Alles rund um Module und Plugins in CONTENIDO 4.9.
oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Newsletter: Umlaute

Beitrag von oschko » Mi 18. Nov 2015, 16:07

Beim Versand eines Newsletters werden die Umlaute nicht korrekt dargestellt:
vielen Dank für Dein Interesse....
Bei den System e-mails zum Newsletter (Newsletter: Bestätigung, Webseiten-Account) gibt es keine Probleme.
Wie kann ich das einstellen?

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von frederic.schneider_4fb » Do 19. Nov 2015, 09:01

Guten Tag,

ich habe das eben noch einmal getestet: Auf einer Standard-Installation mit Utf8 gibt es keine Probleme mit Umlauten. Welchen Zeichensatz/welche Zeichenkodierung hast Du in Deiner CONTENIDO-Installation denn eingestellt?
Frederic Schneider
Entwickler bei der four for business AG

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 10:21

Ich habe diese Einstellungen nicht geändert.
Unter System->Systemvariablen steht bei Datenbank-Konfiguration Zeichensatz utf8 und bei Mandant Sprache(n) deutsch (1, utf-8), english (2, utf-8)
Gibt es noch andere Stellen wo man hierzu etwas einstellen bzw. Zeichensatz-Einstellungen prüfen kann?
Werden den die automatisch versendeten e-mails (Newsletter: Bestätigung, Webseiten-Account) anderst verschickt als die eigentlichen Newsletter die bei mir Probleme machen?
Wo finde ich diese e-mails in der Datenbank, bzw. im Dateisystem?

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von frederic.schneider_4fb » Do 19. Nov 2015, 10:38

Der E-Mail-Versand läuft jeweils über den selben Handler. Die Newsletter werden in der Tabelle "con_pi_news" gespeichert. Bzw. "con_pi_news_jobs" bei erstellten Newsletter-Jobs. Tritt der Fehler eigentlich auch bei einem Test-Newsletter auf?
Frederic Schneider
Entwickler bei der four for business AG

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 11:45

Nein, der Test-Newsletter ist ok, obwohl es ja der selbe ist, der auch automatisch verschickt wird nach Anmeldung und Bestätigung (Willkommen e-mail).
Habe den Test-Newsletter sowohl an mich als auch an die Standardgruppe versendet, beide ok.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von frederic.schneider_4fb » Do 19. Nov 2015, 11:51

Gibt es denn einen Unterschied, wenn Du Dir den Inhalt Deines Newsletters in der Tabelle con_pi_news und con_pi_news_jobs ansiehst?
Frederic Schneider
Entwickler bei der four for business AG

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 12:32

Also in der con_pi_news_jobs war der Newsletter gar nicht drin.
Habe dann über den blauen Button Versand-job einen erzeugt.
Da gab es keinen unterschied zum Inhalt in con_pi_news
Allerdings wurde der Nesletter auch nicht verschickt.
Newsletter Versand-Job
Name Willkommen
Status Abgeschlossen (gestartet: 19.11.2015 12:13, abgeschlossen: 19.11.2015 12:13)
Statistiken Geplant: 0, Gesendet: 0

Ich habe einen weiteren Newsletter erstellt mit Umlauten drin, aber den kann ich auch nicht versenden.
Der Versand-Job wird erzeugt, aber wenn ich auf Versand gehe wird er nicht gesendet.
Der ursprüngliche Willkommen Newsletter wurde ja automatisch Anmeldung/Bestätigung versandt.
Aber das mit den Umlauten muß direkt beim Versenden passieren, da sowohl im backend als auch in der Datenbank die Umlaute korrekt sind.

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von frederic.schneider_4fb » Do 19. Nov 2015, 12:49

Was kommen denn für Fehler, wenn Du den Newsletter via Newsletter-Job versenden möchtest? Steht etwas in der errorlog.txt? Alles etwas seltsam. Wie erwähnt: Ich habe das heute morgen in drei/vier Minuten alles eingestellt und es hat auf Anhieb fehlerfrei funktioniert...
Frederic Schneider
Entwickler bei der four for business AG

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 13:06

In der errorlog.txt steht für heute folgendes (der Teil ab [19-Nov-2015 12:03:34 Europe/Berlin] PHP Warning: Database failure: 1054: kommt dann noch mehrmals -> wohl die Versuche zu senden):

[19-Nov-2015 11:56:46 Europe/Berlin] PHP Fatal error: Uncaught exception 'cInvalidArgumentException' with message 'Object ID must be greater than 0.' in /home/www/meinedomain.de/contenido/classes/class.registry.php:574
Stack trace:
#0 /home/www/meinedomain.de/contenido/classes/class.registry.php(168): cRegistry::_fetchItemObject('cApiLanguage', 0)
#1 /home/www/meinedomain.de/contenido/classes/class.i18n.php(119): cRegistry::getLanguage()
#2 /home/www/meinedomain.de/contenido/classes/class.i18n.php(85): cI18n::translate('The given clien...', NULL)
#3 /home/www/meinedomain.de/contenido/includes/functions.i18n.php(50): cI18n::__('The given clien...', NULL)
#4 /home/www/meinedomain.de/contenido/external/backendedit/front_content.php(27): i18n('The given clien...', NULL)
#5 {main}
thrown in /home/www/meinedomain.de/contenido/classes/class.registry.php on line 574
[2015-11-19 12:03:34] Warning: "Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=4&contenido=inhvqqo31ulmslnt8v2rvpp3e1bbftpa SELECT DISTINCT newsletterrecipientcollection.idnewsrcp AS idnewsrcp FROM `cmsfa_pi_news_rcp` AS newsletterrecipientcollection, cmsfa_pi_news_groups AS groups, cmsfa_pi_news_groupmembers AS groupmembers WHERE cmsfa_pi_news_rcp.idclient = '1' AND cmsfa_pi_news_rcp.idlang = '1' AND cmsfa_pi_news_rcp.deactivated = '0' AND cmsfa_pi_news_rcp.confirmed = '1' AND cmsfa_pi_news_rcp.idnewsrcp = groupmembers.idnewsrcp AND groupmembers.idnewsgroup = groups.idnewsgroup AND groups.defaultgroup = '1' AND groups.idclient = '1' AND groups.idlang = '1'
" at reportHalt() [class.db.driver.handler.php(1004)]
reportHalt() called in file class.db.driver.handler.php(976)
halt() called in file class.db.driver.handler.php(699)
query() called in file class.item.collection.php(831)
flexSelect() called in file class.newsletter.logs.php(150)
initializeJob() called in file class.newsletter.jobs.php(195)
create() called in file include.newsletter_edit.php(113)
include_once() called in file main.php(203)

[19-Nov-2015 12:03:34 Europe/Berlin] PHP Warning: Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=4&contenido=inhvqqo31ulmslnt8v2rvpp3e1bbftpa SELECT DISTINCT newsletterrecipientcollection.idnewsrcp AS idnewsrcp FROM `cmsfa_pi_news_rcp` AS newsletterrecipientcollection, cmsfa_pi_news_groups AS groups, cmsfa_pi_news_groupmembers AS groupmembers WHERE cmsfa_pi_news_rcp.idclient = '1' AND cmsfa_pi_news_rcp.idlang = '1' AND cmsfa_pi_news_rcp.deactivated = '0' AND cmsfa_pi_news_rcp.confirmed = '1' AND cmsfa_pi_news_rcp.idnewsrcp = groupmembers.idnewsrcp AND groupmembers.idnewsgroup = groups.idnewsgroup AND groups.defaultgroup = '1' AND groups.idclient = '1' AND groups.idlang = '1'
in /home/www/meinedomain.de/contenido/includes/functions.general.php on line 1423
[2015-11-19 12:03:34] Warning: "Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=4&contenido=inhvqqo31ulmslnt8v2rvpp3e1bbftpa next_record called with no query pending.
" at reportHalt() [class.db.driver.handler.php(1004)]
reportHalt() called in file class.db.driver.handler.php(976)
halt() called in file class.db.driver.handler.php(717)
nextRecord() called in file class.item.collection.php(866)
next() called in file class.newsletter.logs.php(154)
initializeJob() called in file class.newsletter.jobs.php(195)
create() called in file include.newsletter_edit.php(113)
include_once() called in file main.php(203)

frederic.schneider_4fb
Beiträge: 967
Registriert: Do 15. Apr 2004, 17:12
Wohnort: Eschborn-Niederhöchstadt
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von frederic.schneider_4fb » Do 19. Nov 2015, 13:12

Handelt es sich vielleicht um eine ältere CONTENIDO-Version, die zwischenzeitlich immer mal aktualisiert wurde? Mein erster Verdacht wäre, dass da Tabelle und PHP-Code nicht übereinstimmen. Das könnte geheilt werden, indem das Plugin einmal über den Plugin Manager deinstalliert und wieder installiert wird. Allerdings wird damit der gesamte Newsletter-Inhalt (Newsletter, Empfänger, Gruppen) entfernt. Wäre das eine Option? Das ist jedenfalls mein erster Gedanke, kann auch schief liegen. Grundsätzlich scheint da irgendetwas im Argen zu liegen.
Frederic Schneider
Entwickler bei der four for business AG

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 13:25

Nein, es ist eine Erstinstallation der aktuellen Version 4.9.8.
Werde das Plugin mal neu installieren.

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Do 19. Nov 2015, 15:14

Ich habe das Plugin neu installiert, hat aber nichts gebracht.

Bei der Wilkommen e-mail die automatisch nach Anmeldung/Bestätigung versendet wird sind die Umlaute nicht korrekt.
Wenn ich Newsletter im backend mit Test-Newsletter oder über Versand-Job versende, sind die Umlaute korrekt.

Wenn ich Newsletter über Versand-Job and Mitglieder der Standardgruppe versenden will, geht das nicht. Wenn ich nach erzeugen des Versand-Jobs auf Versand gehe, ist neben dem Job kein blauer Versand Button.
In diesem Fall werden auch in der errorlog.txt Fehlermeldungen abgelegt. Dies konnte ich anhand des timestamps in der errorlog.txt nachvolziehen; war identisch mit Zeitpunkt des Versand-Jobs.
----------------------------------------
[19-Nov-2015 14:45:51 Europe/Berlin] PHP Warning: Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=2&contenido=5rdq4ddsdhvhf8n8o16ii4oehop3e0dq SELECT DISTINCT newsletterrecipientcollection.idnewsrcp AS idnewsrcp FROM `cmsfa_pi_news_rcp` AS newsletterrecipientcollection, cmsfa_pi_news_groups AS groups, cmsfa_pi_news_groupmembers AS groupmembers WHERE cmsfa_pi_news_rcp.idclient = '1' AND cmsfa_pi_news_rcp.idlang = '1' AND cmsfa_pi_news_rcp.deactivated = '0' AND cmsfa_pi_news_rcp.confirmed = '1' AND cmsfa_pi_news_rcp.idnewsrcp = groupmembers.idnewsrcp AND groupmembers.idnewsgroup = groups.idnewsgroup AND groups.defaultgroup = '1' AND groups.idclient = '1' AND groups.idlang = '1'
in /home/www/meinedomain.de/contenido/includes/functions.general.php on line 1423
[2015-11-19 14:45:51] Warning: "Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=2&contenido=5rdq4ddsdhvhf8n8o16ii4oehop3e0dq next_record called with no query pending.
" at reportHalt() [class.db.driver.handler.php(1004)]
reportHalt() called in file class.db.driver.handler.php(976)
halt() called in file class.db.driver.handler.php(717)
nextRecord() called in file class.item.collection.php(866)
next() called in file class.newsletter.logs.php(154)
initializeJob() called in file class.newsletter.jobs.php(195)
create() called in file include.newsletter_edit.php(113)
include_once() called in file main.php(203)

[19-Nov-2015 14:45:51 Europe/Berlin] PHP Warning: Database failure: 1054 (Unknown column 'cmsfa_pi_news_rcp.idclient' in 'where clause') - /contenido/main.php?area=news&frame=4&action=news_add_job&idnewsletter=2&contenido=5rdq4ddsdhvhf8n8o16ii4oehop3e0dq next_record called with no query pending.
in /home/www/meinedomain.de/contenido/includes/functions.general.php on line 1423
---------------------------------------
Wenn ich einen Versand-Job für Newsletter an alle Empfänger erzeuge, kann ich ihn auch versenden, und in errorlog.txt erscheint keine weitere Fehlermeldung.

rethus
Beiträge: 1827
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von rethus » Fr 20. Nov 2015, 10:41

oschko hat geschrieben:Ich habe das Plugin neu installiert, hat aber nichts gebracht.

Bei der Wilkommen e-mail die automatisch nach Anmeldung/Bestätigung versendet wird sind die Umlaute nicht korrekt.
Wenn ich Newsletter im backend mit Test-Newsletter oder über Versand-Job versende, sind die Umlaute korrekt.
Hab ich es überlesen, oder hast du beim Debuggen mit Schritt 3 angefangen?
Schritt 1: Der erste test muss sein, die Mail auf mehreren Mail-Clients zu testen, bzw. sicher zu stellen, dass dein Mailclient nicht so vorkonfiguriert ist, dass er einen Zeichensatz erzwingt.
Bei manchen (wenn nicht den meisten) Mail-Clients kann man die Zeichensätze voreinstellen, oder sogar erzwingen.

Schritt 2: Ist nichts dergleichen eingestellt, analysiere den Quelltext der Mail... ist ein Zeichensatz gesetzt (wenn nicht hat der Client vielleicht wieder ein Fallback zu seinem voreingestellten Zeichensazt).
Schritt 3: Erst dann (wenn bei Schritt 1 & 2 alles perfekt ist), geht es an den Server.

Meine Erfahrung beim Debuggen:
  • Fange immer direkt beim auftretenden Fehler an zu debuggen.
  • Setze nichts als gegeben vorraus.
  • Analysiere nach dem Ausschlusskriterium nicht nach Bauchgefühl.
  • Nutze Debug-Tools
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable - Onlineshops, Hosting, Domains und Webentwicklung
suther.de - Webentwicklung, IT-Service, IT-Beratung, Linux-Administration

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

oschko
Beiträge: 32
Registriert: Mi 11. Nov 2015, 16:01
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von oschko » Fr 20. Nov 2015, 13:21

Ich habe nur Thunderbird installiert. Ansonsten habe ich die mails in verschiedenen Browsern (unter Ubuntu und Windows) in Webmail-Clients geöffnet.
Die e-mails wurden auch an verschiedene e-mail accounts verschickt.
Das Ergebnis ist immer gleich.
In Thunderbird (unter Ubuntu) ist Zeichenkodierung automatisch bestimmen deaktiviert.
Die Willkommen e-mail automatisch versendet nach Newsletter Anmeldung/Bestätigung wird nicht korrekt dargestellt.
In Thunderbird unter Ansicht->Zeichenkodierung ist Westlich markiert.
Im Quellcode dieser e-mail steht:
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: quoted-printable

Die selbe Wilkommen e-mail aus dem backend mit Test-Newsletter versendet wird korrekt dargestellt.
In Thunderbird unter Ansicht->Zeichenkodierung ist Unicode markiert.
Im Quellcode dieser e-mail steht:
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

Wie gesagt es ist die selbe e-mail, der Versand ist nur auf unterschiedliche Weise ausgelöst.

rethus
Beiträge: 1827
Registriert: Di 28. Mär 2006, 11:55
Wohnort: Mönchengladbach
Kontaktdaten:

Re: Newsletter: Umlaute

Beitrag von rethus » Fr 20. Nov 2015, 13:53

Gut, danke für die Infos. Dann sind wir der Sache ja schon viel näher.
es liegt also an zwei unterschiedlichen Versandmethoden die genutzt werden.

In welcher der Mails werden die Zeichen richtig dargestellt? In der mit charset utf-8 oder ISO?

Hast du das analysiert, weißt du auch schon, wo du weiter suchen musst, nämlich dort, wo die Mail versendet wird, die Fehlerhaft dargestellt wird.
Entweder nutzen die beiden Sende-Varianten unterschiedliche Funktionen für den Versand der Daten, oder für die Verarbeitende Funktion kann ggf. ein Flag gesetzt werden, das den Zeichensatz bestimmt.

Kurze Volltextsuche im newsletter-plugin-SourceFolder nach "iso" findet die Funktion sendEMail() in class.newsletter.php zeile 563. Dort wird ISO als defaultwert angegeben, wenn er nicht anders beim Aufruf übergeben wird.
Schuss ins Blaue: Finde den Funktionsaufruf und prüfe (bzw. sorge dafür) dass auch wirklich UTF-8 übergeben wird.

Danach: Rückmeldung hier im Forum, damit ein Ticket mit Lösungsansatz geöffnet werden kann, oder selbst das Ticket erstellen: https://issues.contenido.org/
Could I help you... you can help me... buy me a coffee . (vielen ❤ Dank an: Seelauer, Peanut, fauxxami )

xstable - Onlineshops, Hosting, Domains und Webentwicklung
suther.de - Webentwicklung, IT-Service, IT-Beratung, Linux-Administration

Software... ein Blick wert: GoogleCalender Eventlist, xst_dynamic_contentType

Antworten