问题
I'm developing my first website for a French client and I'm having massive issues with accents being displayed as "?".After googling it for days, I thought I understood, but issues persists.
To simplify it, I'll explain just the email headers (the message contains french accents)
$headers = 'MIME-Version: 1.0' . "\r\n";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
I've tried using charset UTF-8 and the iso-8859-1, but I still get this type of emails:
Merci pour votre intérêt pour les tee shirts.
Can any one help? I'm having these issues with mySql, HTML, PHP everywhere basically.
Thanks.
回答1:
If intérêt
shows up as intérêt
you likely (i.e. short of corruption due to double encoding) have UTF-8 encoded text being shown up as if it were ISO-8859-1.
Make sure the headers are correctly formed and present the content as being UTF-8 encoded.
回答2:
First of all, make the charset in the header UTF8 again.
In your page, use utf8_encode() where appropriate to make sure values coming from a database or external files are properly encoded (try to set the encoding of the fields in your database to UTF8 as well)
Also, take a look at the htmlentities() function to parse special characters to html entities which may solve encoding issues as well.
回答3:
All other languages except French work fine for me by default
In my /fr/messages.php file I was able to resolve this with
'myKey' => utf8_encode('en français'),
来源:https://stackoverflow.com/questions/5690023/character-encoding-for-french-accents