The Server Pages
:: TSP Menu
- Home
- Authors
- Glossary
- RSS Feed

:: Servers
- CPanel
- Hosting
- Linux
- Windows

:: Webmaster
- Databases
- Design
- Search Engines

:: Scripts
- Scripts

:: Documentation
- PHP Manual

:: Other
- Errors & Solutions
- TechPunt
- Wojjie

search for in the

imap_rename> <imap_ping
[edit] Last updated: Sat, 12 May 2012

view this page in


(PHP 4, PHP 5)

imap_qprintConvert a quoted-printable string to an 8 bit string


string imap_qprint ( string $string )

Convert a quoted-printable string to an 8 bit string according to » RFC2045, section 6.7.



A quoted-printable string

Return Values

Returns an 8 bits string.

See Also

  • imap_8bit() - Convert an 8bit string to a quoted-printable string

imap_rename> <imap_ping
[edit] Last updated: Sat, 12 May 2012
add a note add a note User Contributed Notes imap_qprint
wese at gmx dot at 11-Nov-2008 06:52
I just got rid of the loops using a regex.

function decode_qprint($str) {
$str = preg_replace("/\=([A-F][A-F0-9])/","%$1",$str);
$str = urldecode($str);
$str = utf8_encode($str);

Thanks for sharing!
tonitester at gmx dot net 27-Mar-2007 06:35
If you don't have access to the imap_qprint function and you have to encode URL Decoded and Quoted Printable Strings you receive by Mail try this simple function. But if you don't receive URL Decoded data and the string doesn't contain an = you better use

function decode_qprint($str){
$arr= array("A","B","C","D","E","F");
while (list(, $var) = each($arr)) {   
    while ($i <=9){
    $arr2 = array("A","B","C","D","E","F");
    while (list(, $val) = each($arr2)) {
$str = urldecode($str);
$str = utf8_encode($str);
return $str;}


$output = decode_qprint($s2d);
$output2 = decode_qprint($2s2d);

echo $output;
echo $output2;
bletous at yahoo dot fr 27-Aug-2005 05:55
Some mails are encoded in bad quoted printable format:
I use this function to decode the qprint:


function decode($data,$code)

if(!$code){return imap_utf7_decode($data);}
if($code==0){return imap_utf7_decode($data);}
if($code==1){return imap_utf8($data);}
if($code==2){return ($data);}
if($code==3){return imap_base64($data);}
if($code==4){return imap_qprint(str_replace($myqprinta,$myqprintb,($data)));}
if($code==5){return ($data);}

jdr 16-Jul-2003 09:28

works instead of imap_qprint on php 4.2.0 (win32)
bernard at bmpsystems dot com 26-Feb-2000 12:35
This function seems to have a bug, when the quoted-printable string contains a "=" without the HEX code of a Character.
I use the regular quoted_printable_decode instead.

show source | credits | sitemap | contact | advertising | mirror sites