Mam problem s kodovanim, ked mi pride mail niekedy je kodovanie ok a niekedy mi pride sprava priblizne takto :
neviete funciu ktorou by som to mohol odkodovat do UTF-8 ktore pouzivam ja?=09=C4=8Eakujeme, =C5=BEe ste si vybrali
Dakujem
neviete funciu ktorou by som to mohol odkodovat do UTF-8 ktore pouzivam ja?=09=C4=8Eakujeme, =C5=BEe ste si vybrali
Kód: Vybrať všetko
<?php
$string = "=09=C4=8EAKUJEME, =C5=BEE STE SI VYBRALI *** ***. PRAJEME V=C3=A1=M PR=C3=ADJEMN=C3=BA Z=C3=A1BAVU A TE=C5=A1=C3=ADME SA NA VA=C5=A1U N=C3==A1V=C5=A1TEVU.";
echo urldecode(preg_replace('@=@', '%', $string));
// ĎAKUJEME, žE STE SI VYBRALI *** ***. PRAJEME Vá% M PRíJEMNú ZáBAVU A TEšíME SA NA VAšU N�% �VšTEVU.
?>
Kód: Vybrať všetko
<?php
function decode_utf8($str){
# paterns
$err="(=\?.{10,13}q\?_?|\?\=)";
$pat = "/=([0-9A-F]{2})/";
$cha="'.chr(hexdec(";
# erase null signs in string
$str=eregi_replace($err,"",$str);
# to decode with eval and replace
eval("\$str='".
preg_replace($pat,$cha."'$1')).'",$str)
."';");
# return
return $str;
}
$string = "=09=C4=8Eakujeme, =C5=BEe ste si vybrali";
echo $string;
echo "<br/>";
echo decode_utf8($string);
?>tá funkcia decode_utf8 je z príkladu čo som ti dal link na funkciu imap_utf8()=09=C4=8Eakujeme, =C5=BEe ste si vybrali
Ďakujeme, že ste si vybrali
chrono - tato funkcia mi vzdy pekne posluzi kedporebujem dekodovat hlavicku a zistit ake ma kodovanie ale v body mailu sa n zaciatku nic take ako informacia o kodovani nevyskytuje (napr. =?UTF-8?Q?) ak pouzijem funkciu imap_mime_header_decode pre body tak sa nic nestane ani ked pred to dat informaciu o kodovani z predmetu mailuPRAJEME Vá=M PRíJEMNú ZáBAVU A TEšíME SA NA VAšU N�=�
Kód: Vybrať všetko
object(stdClass)#7 (23) { ["date"]=> string(38) "Wed, 12 Aug 2009 19:01:22 +0200 (CEST)" ["Date"]=> string(38) "Wed, 12 Aug 2009 19:01:22 +0200 (CEST)" ["subject"]=> string(4) "asda" ["Subject"]=> string(4) "asda" ["message_id"]=> string(58) "<883d4c091395d6d6c248ac33af4aefd1.squirrel@www.***.sk>" ["toaddress"]=> string(20) "***@***.com" ["to"]=> array(1) { [0]=> object(stdClass)#8 (2) { ["mailbox"]=> string(8) "***" ["host"]=> string(11) "***.com" } } ["fromaddress"]=> string(26) "***@***.sk" ["from"]=> array(1) { [0]=> object(stdClass)#9 (2) { ["mailbox"]=> string(11) "***" ["host"]=> string(14) "***.sk" } } ["reply_toaddress"]=> string(26) "***@***.sk" ["reply_to"]=> array(1) { [0]=> object(stdClass)#10 (2) { ["mailbox"]=> string(11) "***" ["host"]=> string(14) "***.sk" } } ["senderaddress"]=> string(26) "***@***.sk" ["sender"]=> array(1) { [0]=> object(stdClass)#11 (2) { ["mailbox"]=> string(11) "***" ["host"]=> string(14) "***.sk" } } ["Recent"]=> string(1) "N" ["Unseen"]=> string(1) " " ["Flagged"]=> string(1) " " ["Answered"]=> string(1) " " ["Deleted"]=> string(1) " " ["Draft"]=> string(1) " " ["Msgno"]=> string(4) " 1" ["MailDate"]=> string(26) "12-Aug-2009 19:01:22 +0200" ["Size"]=> string(3) "961" ["udate"]=> int(1250096482) } array(1) { [0]=> object(stdClass)#12 (2) { ["charset"]=> string(7) "default" ["text"]=> string(4) "asda" } } array(1) { [0]=> object(stdClass)#14 (2) { ["charset"]=> string(7) "default" ["text"]=> string(4) "asda" } } Kód: Vybrať všetko
$mbox = imap_open ("{localhost:995/pop3/ssl/novalidate-cert}", $nick."@***.com", $password);
$hlavicka = imap_headerinfo($mbox, 1);
var_dump($hlavicka);Kód: Vybrať všetko
Return-Path: <***@***.sk>
X-Original-To: ***@***.com
Delivered-To: ***@***.com
Received: from ns1.euronet.sk (ns1.euronet.sk [217.67.17.162])
by begyben.com (Postfix) with ESMTP id AB7A43E300
for <***@***.com>; Wed, 12 Aug 2009 20:07:26 +0200 (CEST)
Received: by ns1.euronet.sk (Postfix, from userid 80)
id 36C8E4AC34; Wed, 12 Aug 2009 20:05:59 +0200 (CEST)
Received: from 84.16.38.50
(SquirrelMail authenticated user ***)
by www.***.sk with HTTP;
Wed, 12 Aug 2009 20:05:59 +0200 (CEST)
Message-ID: <a6832517191ff9ae9af1606ccf83c7c0.squirrel@www.***.sk>
Date: Wed, 12 Aug 2009 20:05:59 +0200 (CEST)
Subject: sdaf
From: p***@***.sk
To: ***@b***.com
User-Agent: SquirrelMail/1.4.17
MIME-Version: 1.0
Content-Type: text/plain;charset=iso-8859-2
Content-Transfer-Encoding: 8bit
X-Priority: 3 (Normal)
Importance: Normal
Testovacia spravaKód: Vybrať všetko
$body = iconv("ISO-8859-2", "UTF8", $body);Kód: Vybrať všetko
function decode($input) {
$array = imap_mime_header_decode($input);
return $array[0]->charset;
}