Page 1 of 1

PHP Mail corrupts German characters or newlines

Posted: Thu Feb 21, 2008 1:05 pm
by POPDUM
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("myname@gmx.net", "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.

Re: PHP Mail corrupts German characters or newlines

Posted: Thu Feb 21, 2008 1:16 pm
by kryles
the content is text/html so what about trying <br />?

Re: PHP Mail corrupts German characters or newlines

Posted: Thu Feb 21, 2008 7:50 pm
by Jonah Bron
Good point, Kryles. Neither \n or \r\n should work, because you are sending an html page.

Re: PHP Mail corrupts German characters or newlines

Posted: Fri Feb 22, 2008 6:36 am
by POPDUM
Thanks very much kryles and PHPyounster; <br /> did the trick!