Hei,
Tässä jonkin aikaa googlannut tuloksetta, joten ajattelin kysyä olisiko jollain täällä jollain ideaa saada erikoismerkit näkymään sähköpostin otsikossa (esim kiinalaiset, venäläiset jne.. merkit)
Kun laittaa:
$headers = 'Content-type: text/html; charset=iso-8859-1' . "\n";
niin viestin sisällön saa kyllä näkymään oikein, mutta ongelma on siinä että juuri viestin otsikko sitten ei näy oikein, vaan koodeina kuten "авила" jne..
Eli olisiko ideoita? :)
Content-type vaikuttaa vain viestin sisältöön; otsikko menee ASCII-koodauksella silti. Ratkaisu on kertoa otsikon merkistökoodaus vastaanottajalle ja enkoodata se vaikka base64:llä:
<?php $subject = '=?iso-8859-1?B?'.base64_encode("Otsikko").'?='
Kannattaa myös vaihtaa merkistöksi UTF-8, koska ISO-8859-1 ei sisällä kuin länsimaiset aakkoset eikä siis sovellu lainkaan venäläisen tai kiinalaisen tekstin esittämiseen silloin, kun HTML:n erikoismerkinnät eivät ole käytettävissä.
Viesti on hyvä toimittaa myös tekstimuotoisena (eli ilman HTML:ää). Ainakin itselläni oletusarvoisesti näytetään vain tekstiversio, joka tarvittaessa muodostetaan poistamalla HTML-viestistä tagit, eikä ole mukava lukea tällaista tekstiä, kun joku pölkkypää ei osaa lähettää viestejään kunnolla.
Aihe on jo aika vanha, joten et voi enää vastata siihen.