Edit report at https://bugs.php.net/bug.php?id=61484&edit=1

 ID:                 61484
 User updated by:    juzna dot cz at gmail dot com
 Reported by:        juzna dot cz at gmail dot com
 Summary:            iconv //IGNORE option doesn't work anymore in PHP5.4
 Status:             Open
 Type:               Bug
 Package:            ICONV related
 Operating System:   Ubuntu
 PHP Version:        5.4.0
 Block user comment: N
 Private report:     N

 New Comment:

The //ignore option is still broken as of the latest stable release (5.4.3).  

>From reading some of the other bug reports on this, apparently new versions of 
>iconv no longer support the //ignore option, and instead -c must be passed.  
>So PHP needs to detect the //ignore option and in that case pass the "-c" 
>option to iconv.


Previous Comments:
------------------------------------------------------------------------
[2012-03-25 08:15:33] larue...@php.net

@rasmus yes, 5.3 and 5.4 behavior inconsistently, that is because icovn doesn't 
accept //IGNORE anymore, and now return -1,  then comes a bug(see #52211), 
felipe 
fixed this in 5.4,  but didn't fix 5.3.  so now, 5.3 and 5.4 behave 
differently, 
but the fundamental reason seems still is the glibc change their iconv 
behavior. 
thanks, :)

------------------------------------------------------------------------
[2012-03-23 07:14:31] ras...@php.net

Not sure this is a libc thing. 5.3 and 5.4 on the same libc behave differently.
They both report:

iconv implementation => glibc
iconv library version => 2.13

------------------------------------------------------------------------
[2012-03-23 07:11:09] larue...@php.net

see http://sources.redhat.com/bugzilla/show_bug.cgi?id=13518

------------------------------------------------------------------------
[2012-03-23 07:01:36] larue...@php.net

this should be a issue of glibc, but I am not sure since when it has been 
changed. :(

------------------------------------------------------------------------
[2012-03-22 23:59:36] juzna dot cz at gmail dot com

Description:
------------
When adding "//IGNORE" to target encoding in iconv function, wrong characters 
should be skipped. This worked in PHP 5.3, but doesn't work anymore in 5.4.

I just compiled 5.3.10, where it works fine. Doesn't work on 5.4.0 nor on 5.4.1-
RC1.

Test script:
---------------
var_dump(iconv('UTF-8', 'UTF-16//IGNORE', 
"\xc5\xbea\x01b\xed\xa0\x80c\xef\xbb\xbfd\xf4\x90\x80\x80e"));

Expected result:
----------------
string(18) "��~abc��de"

Actual result:
--------------
bool(false)


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=61484&edit=1

Reply via email to