=?ISO-8859-1 in mail subject

冷暖自知 提交于 2019-12-18 17:02:23

问题


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?


回答1:


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.




回答2:


$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));

it works for me (thanks artefacto)



来源:https://stackoverflow.com/questions/3468849/iso-8859-1-in-mail-subject

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!