I am having some trouble with foreign characters when sending an e-mail. Could someone advise me on what to do? I suspect the problem could be one of three things.
- The html page encoding is incorrect. (Would this affect the POST data from the form?)
- The mail function doesn’t have any encoding. Thus the program doesn’t know how to read it. (Most likely)
- The file itself doesn’t have the right encoding and thus is making problems. (Probably quite unlikely)
Are there any other possible causes?
I am trying to knock these out 1 by 1 until I find the problem. I think that option 2 is the most likely cause. How do I add proper – universal encoding to a mail function?
This is what I have at the moment.
$mail_sent = mail($client_email, $title, $message, "From: {$visitor_email}");
I am currently aware that form does not send polish or Swedish characters.
I would be very grateful if someone could point out any other possible causes and tell me what encoding I need to use to send e-mails.
Thanks a lot.
As far as I know PHP does not support UTF-8 as default encoding for its strings. You need to use the relevant encoding/handling functions for the encoding you would prefer.
Also add a
Content-Type:text/html;charset=utf-8to your email headers so the email clients will display the characters correctly (or replace with your encoding of choice).