Req->Bug #61484 [Opn->Dup]: iconv //IGNORE option doesn't work anymore in PHP5.4/5.5
| From: | cmb@php.net | Date: | Fri, 29 Jul 2016 08:31:49 +0000 |
| Subject: | Req->Bug #61484 [Opn->Dup]: 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-202697@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: cmb@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
+Status: Duplicate
-Type: Feature/Change Request
+Type: Bug
Package: ICONV related
Operating System: Linux
PHP Version: 5.5.0
-Assigned To:
+Assigned To: cmb
Block user comment: N
Private report: N
New Comment:
Actually, this is a duplicate of bug #48147.
Previous Comments:
------------------------------------------------------------------------
[2015-06-05 10:36:34] php at s-hamel dot de
This issue seems to get fixed in PHP 5.5.26.
See http://git.php.net/?p=php-src.git;a=blob_plain;f=NEWS;hb=473ec539a1c3d242c8b171dd6a5a98fa17e05c13
- Iconv:
. Fixed bug #48147 (iconv with //IGNORE cuts the string). (Stas)
It would be great to have it fixed for PHP 5.4 as well.
Best regards
S.
------------------------------------------------------------------------
[2013-08-02 02:11:53] yohgaki@php.net
It seems usable.
$ php -r 'echo "\xc5\xbea\x01b\xed\xa0\x80c\xef\xbb\xbfd\xf4\x90\x80\x80e";' |
iconv -f 'UTF-8' -t 'UTF-16//IGNORE' | od -t x1
iconv: ä½ç½® 18
ã«ä¸æ£ãªå
¥åã·ã¼ã±ã³ã¹ãããã¾ã
0000000 ff fe 7e 01 61 00 01 00 62 00 63 00 ff fe 64 00
0000020 65 00
0000022
------------------------------------------------------------------------
[2013-08-02 02:01:05] yohgaki@php.net
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;
}
------------------------------------------------------------------------
[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
------------------------------------------------------------------------
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