Beiträge von Gastl

    Zitat von Arne Drews

    Ok, und die Dateien sind auch alle korrekt gespeichert?
    Selbst die PHP-Datei, die den Mail-Versand einleitet bzw. die Mail-Daten vorbereitet muss in UTF8 ohne BOM gespeichert sein.


    Ist bei beiden Anforderungen bei mir nur eine Datei mit Namen upload.phtml (steht im form-Tag drin). Und ja, ich schrieb ja schon, ich habe diese Datei mit Notepad++ in UTF-8 ohne BOM abgespeichert. Der Punkt ist schon mal tutti.

    Zitat von Arne Drews

    Manchmal ist der FTP-Client, mit dem man die Dateien auf dem Server schiebt nicht auf UTF8 gesetzt, dann wäre in dem Fall die komplette PHPMailer-Klasse nicht UTF8 gespeichert.


    FTP-Client ist Filezilla. Ich habe dort nirgends eine Einstellung zu UTF gefunden. Übertragung des Dateityps steht auf automatisch. Ich gehe dann davon aus, das Filezilla das UTF-8 ohne BOM überträgt.

    Zitat von Arne Drews

    Der PHPMailer selbst kann mit UTF8 auch noch forciert werden:

    PHP
    $oMailer = new PHPMailer();
    $oMailer->CharSet = 'UTF-8';

    Ich weiß gar nicht, ob das in meinem PHPMailer-Tutorial drin ist, könnte ich sonst mal nachtragen.
    Wichtig ist, dass die Charset-Angabe direkt nach der Instanziierung, da ansonsten bereits Mail-Header geschrieben sein könnten.

    Genau das war es. Und genau danach hatte ich auch in#1 gefragt, ob dem PHP-Mailer das auch noch gesagt werden muss. In dem Tutorial, was ich habe steht dazu nichts. Wenn man es aber z.B. so verfasst und sonst auch alles zu UTF-8 beachtet, sollte es klappen. Mein Mailkopf zu PHP-Mailer sieht jetzt so aus und es klappt jetzt:

    PHP
    include_once '../../phpmailer/PHPMailerAutoload.php'; //<- kann natürlich abweichen
    $oMailer = new PHPMailer; 
    $oMailer->CharSet = 'UTF-8';
    // SMTP aktivieren
    $oMailer->isSMTP();
    // SMTP-Server
    $oMailer->Host = 'usw.undsofort.com';

    Vielen Dank
    Wieder dazu gelernt...

    Das mit dem form-tag hatte ich vergessen zu erwähnen. Habe ich auch drin. Ich bin ja nach deinem Tut vorgegangen, bekomme dennoch diese Zeichen. Nochmal zusammen gefasst habe ich drin:

    Zitat

    <meta charset="utf-8" />
    header ('Content-Type: text/html; charset=utf-8');
    <form name="form" action="upload.phtml" enctype="multipart/form-data" method="post" accept-charset="utf-8">

    Den Datenbankteil brauche ich nicht, da ich keine Datenbank benutze. Ich werde mal Probe halber beide meta-Tags für HTML 4 und 5 einbauen.

    Eine Erklärung dafür?

    - - - Aktualisiert - - -

    Habs jetzt nochmal getestet und im Kommentarfeld "Umlauttest äöü ÄÖÜ ß" eingegeben. Ankommen tut aber "Umlauttest äöü ÄÖÜ ß".

    Nochmal ich habe das jetzt alles drin:

    Zitat


    <meta charset="utf-8">
    <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    header ('Content-Type: text/html; charset=utf-8');
    <form name="form" action="upload.phtml" enctype="multipart/form-data" method="post" accept-charset="utf-8">

    Man hängt sich nicht an anderer Fragen ran, weshalb ich hier das Thema nochmal aufgreife.
    Unter Frage-zu-einem-Kontaktformular habe ich selber das geschrieben...

    Zitat von Gastl

    In PHP auch UTF-8.

    PHP
    header ( 'Content-Type: text/html; Charset=utf-8' );

    Wie witzig find ich das denn? Selber habe ich den Tipp geschrieben, bekomme aber soeben von meinem Uploadscript selber keine Umlaute gesendet. Da ist ein Input-Textfeld, welches diesen Text angenommen und per PHP-Mailer versendet hat.

    Für "Steuererklärung für 2016" verschickt das PHP-Script "Steuererklärung für". Die Uploaddatei besteht aus einem Gemisch von HTML und PHP. In den HTML-Teil habe ich UTF-8 mit "<meta charset="utf-8" />" und im PHP-Teil mit "<?php header ('Content-Type: text/html; charset=utf-8');" deklariert. Die Datei ist auch mit dem Notepad++ auf UTF-8 ohne BOM kodiert und abgespeichert.

    Wie kommt es zu dieser falschen Anzeige? Muss noch irgendwas im PHP-Mailer eingestellt werden, was ich evtl. übersehen habe?

    Vielen Dank schon mal

    Ist nicht nachvollziehbar, der Code ist soweit wohl richtig. Mach mal eine Screenshot von dem, was bei dir angezeigt wird.
    Besser wäre es, wenn du einen Link zu deiner Testseite angeben könntest mit den Bildern Foto1 und Foto2.

    Achso, ein Feedback zu deinem bisherigen Problem wäre nicht verkehrt.

    Naja, dann sag mir wie du das bezeichnen würdest?
    Du hast deinen Ordner der heißt "Homepage". Darin befinden sich zwei Ordner, 1x "web" und 1x "pics". Beide liegen also nebeneinander -> parallel im gleichen Ordner Homepage. Oder?
    Du bist dran.

    Dann referenzierst du das Bild nicht richtig.
    In HTML schreibt man eigentlich nicht \Foto sondern /Foto, wobei beides bei den meisten Browsern funktioniert.
    Liegt das Bild im selben Ordner: <img src="Foto.jpg">
    Liegt das Bild in einem übergeordnetem Ordner: <img src="../Foto.jpg">
    Liegt das Bild in einem parallelem Ordner: <img src="../Bilder/Foto.jpg">
    Und denke an deine Anführungszeichen.

    Sorry, aber das glaube ich dir nicht. Nicht den Quellcode lesen und sagen das klappt garantiert, weil da kein Fehler zu entdecken ist. Kopiere den Quellcode mal 1:1 und führe ihn aus. Ich habe es auch unter Windows10 prof gemacht. Es wird kein Bild angezeigt, sondern nur der alt-Text. Und der Fehler liegt in den schrägen Anführungszeichen um die Bildreferenz.

    Schreibt mal src="Foto1.jpg" statt src=Foto1.jpg

    MfG