ID:               31314
 User updated by:  yury at gorodok dot net
 Reported By:      yury at gorodok dot net
-Status:           Bogus
+Status:           Open
 Bug Type:         ICONV related
 Operating System: Windows
 PHP Version:      5.0.2
 New Comment:

Just not using third parameter in fwrite() _doesn't_help_ a bit! All
lines with mbstring were (and are) commented out; I cann't see it in my
phpinfo()-- so, I cann't say what value mbstring.func_overload has.
 Here is the code, that doesn't work now:

 $f=fopen($fns, "rb");
 $ff=fopen($fnts, "wb");
 $flen=filesize($fns);
 $fstr=fread($f, $flen);
  echo $flen."\n";
 $ffstr=iconv("UTF-8","windows-1251",$fstr);
  echo strlen($ffstr)."\n";
  echo fwrite($ff,$ffstr/*,strlen($ffstr)*/)."\n";
  fclose($ff);
  fclose($f);

Also, for some other files (that translated good), there was no problem
with length.


Previous Comments:
------------------------------------------------------------------------

[2004-12-27 19:40:02] [EMAIL PROTECTED]

You have mbstring.func_overload turned On, thus strlen() returns number
of characters, not bytes.
Turn it off or just don't use third parameter of fwrite().

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

[2004-12-27 18:24:32] yury at gorodok dot net

Description:
------------
The code must translate UTF-8 to windows-1251,
but it truncates output!
May be old compiled in version of libiconv?

examples follow:
 UTF-8:
  http://yury.gorodok.net/temp/test_.html
 result:
  http://yury.gorodok.net/temp/test_1.html

(the content is not essential, I suppose)

Reproduce code:
---------------
 $fstr=fread($f, $flen);
 $ffstr=iconv( "windows-1251", "UTF-8",$fstr);
  echo fwrite($ff,$ffstr, strlen($ffstr))."\n";




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


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

Reply via email to