Bug->Req #61484 [Opn]: iconv //IGNORE option doesn't work anymore in PHP5.4/5.5
| From: | yohgaki@php.net | Date: | Fri, 02 Aug 2013 02:01:05 +0000 |
| Subject: | Bug->Req #61484 [Opn]: iconv //IGNORE option doesn't work anymore in PHP5.4/5.5 | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-180676@lists.php.net to get a copy of this message | ||
Edit report at https://bugs.php.net/bug.php?id=61484&edit=1
ID: 61484
Updated by: yohgaki@php.net
Reported by: juzna dot cz at gmail dot com
Summary: iconv //IGNORE option doesn't work anymore in
PHP5.4/5.5
Status: Open
-Type: Bug
+Type: Feature/Change Request
Package: ICONV related
Operating System: Linux
PHP Version: 5.5.0
Block user comment: N
Private report: N
New Comment:
iconv() returns FALSE when there is error. I haven't checked if out_buffer is
usable, though.
ext/iconv/iconv.c
err = php_iconv_string(in_buffer, (size_t)in_buffer_len,
&out_buffer, &out_len, out_charset, in_charset);
_php_iconv_show_error(err, out_charset, in_charset TSRMLS_CC);
if (err == PHP_ICONV_ERR_SUCCESS && out_buffer != NULL) {
RETVAL_STRINGL(out_buffer, out_len, 0);
} else {
if (out_buffer != NULL) {
efree(out_buffer);
}
RETURN_FALSE;
}
Previous Comments:
------------------------------------------------------------------------
[2013-08-02 01:56:00] yohgaki@php.net
Fedora19 x86_64's php
php > var_dump(iconv('UTF-8', 'UTF-16//IGNORE',
"\xc5\xbea\x01b\xed\xa0\x80c\xef\xbb\xbfd\xf4\x90\x80\x80e"));
Notice: iconv(): Detected an illegal character in input string in php shell code
on line 1
bool(false)
php > echo phpversion();
5.5.0
------------------------------------------------------------------------
[2012-11-02 13:45:19] valeriy-v at yandex dot ru
PHP Version 5.4.8 Centos
Linux 2.6.32-279.11.1.el6.x86_64 #1 SMP Tue Oct 16 15:57:10 UTC 2012 x86_64
------------------------------------------------------------------------
[2012-09-13 08:09:50] alec at alec dot pl
The bug exists in PHP 5.3.10 and Ubuntu EGLIBC 2.15-0ubuntu10
------------------------------------------------------------------------
[2012-08-28 16:55:32] hrach dot cz at gmail dot com
PHP 5.4.6
iconv implementation libiconv
iconv library version 1.11
works!
------------------------------------------------------------------------
[2012-05-14 06:56:22] juzna dot cz at gmail dot com
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.
------------------------------------------------------------------------
The remainder of the comments for this report are too long. To view
the rest of the comments, please view the bug report online at
https://bugs.php.net/bug.php?id=61484
--
Edit this bug report at https://bugs.php.net/bug.php?id=61484&edit=1