From:             wiela at centras dot lt
Operating system: Windows XP HE
PHP version:      5.2.5
PHP Bug Type:     ICONV related
Bug description:  iconv_mime_encode(), broken Q scheme

Description:
------------
iconv_mime_encode(),'Q' encoding scheme isn't reliable and 
sometimes (for particular character and/or string length combination?)
returns: "Notice: iconv_mime_encode(): Unknown error (7) in ..."
*without any result*. 

This also applies to earlier php versions (tested with php 5.2.1).



Reproduce code:
---------------
$preferences = array(
    "input-charset" => "UTF-8",
    "output-charset" => "UTF-8",
    "line-length" => 76,
    "line-break-chars" => "\n",
    "scheme" => "Q"
);

// $str1 results error, it's utf-8 string, its base64_encode() is: 
//'xIXEjcSZxJfEr8WhxbPFviDEr8SZxI3FocWzxJnEr8SFIMSNxJnFs8SFxaHFs8Wr'
$str1 = "ąčęėįšųž
įęčšųęįą
čęųąšųū"; 

// $str2 doesn't result error, although it's only one character
// shorter. It's utf-8 string, its base64_encode() is: 
//'xIXEjcSZxJfEr8WhxbPFviDEr8SZxI3FocWzxJnEr8SFIMSNxJnFs8SFxaHFsw=='
$str2 = "ąčęėįšųž
įęčšųęįą
čęųąšų";

echo iconv_mime_encode("Subject", $str1, $preferences);
echo iconv_mime_encode("Subject", $str2, $preferences);


Expected result:
----------------
Well, at least any (*some*) result is expected, without any 
errors and warnings. 

For $str1 is expected:
Subject: =?UTF-8?Q?=C4=85=C4=8D=C4=99=C4=97=C4=AF=C5=A1=C5=B3?=
 =?UTF-8?Q?=C5=BE=20=C4=AF=C4=99=C4=8D=C5=A1=C5=B3=C4=99=C4=AF?=
 =?UTF-8?Q?=C4=85=20=C4=8D=C4=99=C5=B3=C4=85=C5=A1=C5=B3=C5=AB?=

For $str2 is expected:
Subject: =?UTF-8?Q?=C4=85=C4=8D=C4=99=C4=97=C4=AF=C5=A1=C5=B3?=
 =?UTF-8?Q?=C5=BE=20=C4=AF=C4=99=C4=8D=C5=A1=C5=B3=C4=99=C4=AF?=
 =?UTF-8?Q?=C4=85=20=C4=8D=C4=99=C5=B3=C4=85=C5=A1=C5=B3?=

Actual result:
--------------
For $str1: 
FALSE with "Notice: iconv_mime_encode(): Unknown error (7) in ..."


For $str2:
Subject: =?UTF-8?Q?=C4=85=C4=8D=C4=99=C4=97=C4=AF=C5=A1=C5=B3?=
 =?UTF-8?Q?=C5=BE=20=C4=AF=C4=99=C4=8D=C5=A1=C5=B3=C4=99=C4=AF?=
 =?UTF-8?Q?=C4=85=20=C4=8D=C4=99=C5=B3=C4=85=C5=A1=C5=B3?=

-- 
Edit bug report at http://bugs.php.net/?id=43314&edit=1
-- 
Try a CVS snapshot (PHP 4.4): 
http://bugs.php.net/fix.php?id=43314&r=trysnapshot44
Try a CVS snapshot (PHP 5.2): 
http://bugs.php.net/fix.php?id=43314&r=trysnapshot52
Try a CVS snapshot (PHP 5.3): 
http://bugs.php.net/fix.php?id=43314&r=trysnapshot53
Try a CVS snapshot (PHP 6.0): 
http://bugs.php.net/fix.php?id=43314&r=trysnapshot60
Fixed in CVS:                 http://bugs.php.net/fix.php?id=43314&r=fixedcvs
Fixed in release:             
http://bugs.php.net/fix.php?id=43314&r=alreadyfixed
Need backtrace:               http://bugs.php.net/fix.php?id=43314&r=needtrace
Need Reproduce Script:        http://bugs.php.net/fix.php?id=43314&r=needscript
Try newer version:            http://bugs.php.net/fix.php?id=43314&r=oldversion
Not developer issue:          http://bugs.php.net/fix.php?id=43314&r=support
Expected behavior:            http://bugs.php.net/fix.php?id=43314&r=notwrong
Not enough info:              
http://bugs.php.net/fix.php?id=43314&r=notenoughinfo
Submitted twice:              
http://bugs.php.net/fix.php?id=43314&r=submittedtwice
register_globals:             http://bugs.php.net/fix.php?id=43314&r=globals
PHP 3 support discontinued:   http://bugs.php.net/fix.php?id=43314&r=php3
Daylight Savings:             http://bugs.php.net/fix.php?id=43314&r=dst
IIS Stability:                http://bugs.php.net/fix.php?id=43314&r=isapi
Install GNU Sed:              http://bugs.php.net/fix.php?id=43314&r=gnused
Floating point limitations:   http://bugs.php.net/fix.php?id=43314&r=float
No Zend Extensions:           http://bugs.php.net/fix.php?id=43314&r=nozend
MySQL Configuration Error:    http://bugs.php.net/fix.php?id=43314&r=mysqlcfg

Reply via email to