POPDUM Posted February 21, 2008 Share Posted February 21, 2008 Hi, I have to send email containing German characters (e.g. umlauts). I already had a script which worked with English characters, but it would mess up the German ones. So, I decided to use encoding in the header, and encoded it to UTF-8 as text/html (using text/plain does not work). Now, the German characters appear OK, but the newlines get lost. I tried using \n and \r\n as newline characters, but it does not work. Here is the code fragment which I am using: $name = $_POST['sendername']; $telefon = $_POST['telefon']; $message = $_POST['message']; $email = $_POST['email']; $typedcode = $_POST['typedcode']; $body = "* Name:\n$name\n\n". "* Email:\n$email\n\n". "* Telefon:\n$telefon\n\n". "* Anfrage:\n$message"; $result = 'ok'; mail("[email protected]", "Kontaktformular", $body, "From: $email\n" . "MIME-Version: 1.0\n" . "Content-type: text/html; charset=utf-8\n" ); As I said above, I tried using \r\n too, but it does not work. Any answers or suggestions are most welcome. Link to comment https://forums.phpfreaks.com/topic/92312-php-mail-either-corrupts-umlaut-characters-or-newlines/ Share on other sites More sharing options...
Daniel0 Posted February 21, 2008 Share Posted February 21, 2008 It does work, but new lines are considered whitespace in HTML. You need to use the HTML linebreak tag <br />. Link to comment https://forums.phpfreaks.com/topic/92312-php-mail-either-corrupts-umlaut-characters-or-newlines/#findComment-472976 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.