Kirjautuminen

Haku

Tehtävät

Keskustelu: Nettisivujen teko: PHP mail otsikon erikoismerkit

carter [20.03.2010 01:48:59]

#

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? :)

trilog [20.03.2010 08:34:32]

#

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").'?='

Metabolix [20.03.2010 11:28:58]

#

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&auml; ole mukava lukea t&auml;llaista teksti&auml;, kun joku p&ouml;lkkyp&auml;&auml; ei osaa l&auml;hett&auml;&auml; viestej&auml;&auml;n kunnolla.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta