|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #48289 iconv_mime_encode() quoted-printable scheme is broken
Submitted: 2009-05-15 03:29 UTC Modified: 2010-05-04 13:57 UTC
Avg. Score:4.0 ± 0.0
Reproduced:2 of 2 (100.0%)
Same Version:1 (50.0%)
Same OS:1 (50.0%)
From: astax dot t at gmail dot com Assigned: aharvey (profile)
Status: Closed Package: ICONV related
PHP Version: 5.*, 6 OS: *
Private report: No CVE-ID: None
 [2009-05-15 03:29 UTC] astax dot t at gmail dot com


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2009-05-16 17:45 UTC] dypa at bk dot ru
all tests give error:
Notice: iconv_mime_encode() [function.iconv-mime-encode]: Unknown error (7) in /var/www/def.php on line 12

user@localhost:/rss$ php -v
PHP 5.2.6-3ubuntu4.1 with Suhosin-Patch (cli) (built: Apr 23 2009 14:35:05) 
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies

iconv support 	enabled 
iconv implementation 	glibc 
iconv library version 	2.9
 [2009-07-10 03:02 UTC] astax dot t at gmail dot com
dypa at bk dot ru: Please make sure you use Windows-1251 charset everywhere when you copy and paste test content. Everywhere means in browser and in text editor.
In your case I think iconv fails because you pasted the text in ISO-8859-1 charset.
 [2009-10-13 08:22 UTC] rosier at interstroom dot nl
// PHP version: 5.3.0
echo 'PHP version: ' . phpversion();

$subject = base64_decode('VEVTVCDigJMg0KMg0L3QsNGBINC10YHRgtGMINGC0L4sINGH0YLQviDQktCw0Lwg0L3Rg9C20L3QviAtIFRFU1Q=');

$preferences = array(
    'line-length' => 500,
    'input-charset' => 'UTF-8',
    'output-charset' => 'UTF-8',
    'scheme' => 'Q'
$result = iconv_mime_encode('Subject', $subject, $preferences);
// OK: $result = string

$preferences = array(
    'line-length' => 76,
    'input-charset' => 'UTF-8',
    'output-charset' => 'UTF-8',
    'scheme' => 'Q'
$result = iconv_mime_encode('Subject', $subject, $preferences);
// WRONG: $result = FALSE
 [2010-02-07 17:38 UTC]
See also bug #50954 (has a patch too)
 [2010-02-08 03:55 UTC] astax dot t at gmail dot com
I'd like to test the patch described in #50954. Is it included into any PHP build already? Sorry, I don't feel like compiling PHP from sources.

Here is one more reproduce code:

$str = base64_decode("1Ojr6ODrICLH4O/g5O3uLdHo4ejw8ero6SIgzsDOICLR7uHo7eHg7eoiIPDg5CDv8OXk8fLg4ujy/A==");

$par = array(
	'scheme' => 'Q',
	'input-charset' => 'CP1251',
	'output-charset' => 'CP1251',
	'line-length' => 74,

$res = iconv_mime_encode('Subject', $str, $par);

$res = iconv_mime_decode($res, ICONV_MIME_DECODE_CONTINUE_ON_ERROR, 'CP1251');
echo 'Result: Length='.strlen($res)."  ".$res."\n";
$expected = "Subject: ".$str;
echo 'Expected: Length='.strlen($expected)."  ".$expected."\n";

It says result length is 74 chars and expected is 67.
 [2010-05-04 13:52 UTC]
-Status: Open +Status: Assigned -Assigned To: +Assigned To: aharvey
 [2010-05-04 13:57 UTC]
Automatic comment from SVN on behalf of aharvey
Log: Fix for bug #48289 (iconv_mime_encode() quoted-printable scheme is broken).
Thanks to Hiroaki Kawai for the original patch.
 [2010-05-04 13:57 UTC]
-Status: Assigned +Status: Closed
 [2010-05-04 13:57 UTC]
This bug has been fixed in SVN.

Snapshots of the sources are packaged every three hours; this change
will be in the next snapshot. You can grab the snapshot at
Thank you for the report, and for helping us make PHP better.

 [2012-06-14 07:19 UTC] jinhuakehao at hotmail dot com
this is great help to design new bug to any backdoors, thanks so much, it's Love 
 [2012-09-04 06:05 UTC] sunfeng891031 at gmail dot com
thanks!it's useful for me !
i used them in my website:
PHP Copyright © 2001-2018 The PHP Group
All rights reserved.
Last updated: Sun Nov 19 01:31:42 2017 UTC