|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2009-05-04 14:52 UTC] kulakov74 at yandex dot ru
Description: ------------ iconv() without //IGNORE as known cuts the string at the first illegal character, but with //IGNORE it should not. Still, I get a truncated text, but not at the point where the character is. Sorry the actual PHP version is 5.2.6, but I cannot upgrade it. Just to let you know. Can you test that with the last version? Please download the file from http://www.oppcharts.com/iconv.html Reproduce code: --------------- $Body1=... //read the file echo(strlen($Body1)."\n"); $Body2=iconv('UTF-8', 'ISO-8859-1', $Body1); echo(strlen($Body2)."\n"); $Body2=iconv('UTF-8', 'ISO-8859-1//IGNORE', $Body1); echo(strlen($Body2)."\n"); Expected result: ---------------- 15323 Notice: iconv(): Detected an illegal character in input string in /home/doldon/html/tdnam/dev.php on line 18 3588 ----------------------------------- 15323 15321 - I can get this if I use //TRANSLIT or when I run the test on my home Windows PHP 4 Actual result: -------------- 15323 Notice: iconv(): Detected an illegal character in input string in /home/doldon/html/tdnam/dev.php on line 18 3588 ----------------------------------- 15323 Notice: iconv(): Detected an illegal character in input string in /home/doldon/html/tdnam/dev.php on line 18 8157 - THIS IS THE PROBLEM PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Oct 29 10:00:01 2025 UTC |
Here goes the script. I'm not sure about the limit on external resources - I have the file to convert, so it is downloaded. <?php error_reporting(E_ALL); $Body1=file_get_contents("http://www.oppcharts.com/iconv.html"); echo(strlen($Body1)."\n"); $Body2=iconv('UTF-8', 'ISO-8859-1', $Body1); echo(strlen($Body2)."\n"); $Body2=iconv('UTF-8', 'ISO-8859-1//IGNORE', $Body1); echo(strlen($Body2)."\n"); ?>