=?ISO-8859-1 in mail subject

David Morales picture David Morales · Aug 12, 2010 · Viewed 16.7k times · Source

I'm acquiring the unread mails I have in my GMail account through PHP and its method imap_open

When I get the subjects through the method imap_fetch_overview I get some subjects like this:

=?ISO-8859-1?Q?Informaci=F3n_Apartamento_a_la_Venta?= =?ISO-8859-1?Q?_en_Benasque(Demandas:_0442_______)?=

It's unreadable, I think because of its character encoding.

What should I do to make it readable?

Answer

Artefacto picture Artefacto · Aug 12, 2010

To get the string in UTF-8, do:

$or = '=?ISO-8859-1?Q?Informaci=F3n_Apartamento_a_la_Venta?= =?ISO-8859-1?Q?_en_Benasque(Demandas:_0442_______)?=';
mb_internal_encoding('UTF-8');
$v = str_replace("_"," ", mb_decode_mimeheader($or));

which gives:

Información Apartamento a la Venta en Benasque(Demandas: 0442       )

You can then convert to ISO-8859-1, if you wish.