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

 ID:                 53948
 Comment by:         nadavkav at gmail dot com
 Reported by:        asaf at lingnu dot com
 Summary:            ZIP archive UTF-8 filenames problem
 Status:             Duplicate
 Type:               Bug
 Package:            Zip Related
 Operating System:   linux
 PHP Version:        5.3.5
 Block user comment: N
 Private report:     N

 New Comment:

I experience the same issue.
While zipping Hebrew filenames on a CentOS 5.6 (GNU/LINUX) system
with php 5.2.x and 5.3.x
And then, trying to open the Zip file on a Windows XP system
In Which i get ?????.txt as filenames.

Please see more info on the Moodle developer TRACKER system:
http://tracker.moodle.org/browse/MDL-24928


Previous Comments:
------------------------------------------------------------------------
[2011-09-23 11:14:13] robert at softcom dot no

I also have a problem with this, so bump!

------------------------------------------------------------------------
[2011-06-10 23:27:47] killerloin at yahoo dot com

is this problem solved yet? I really need a solution.

------------------------------------------------------------------------
[2011-05-30 08:49:24] mikhail dot v dot gavrilov at gmail dot com

I also confirm this problem.

Workaround: Helps converting to your DOS encoding.

------------------------------------------------------------------------
[2011-02-18 14:02:20] paj...@php.net

#51929

------------------------------------------------------------------------
[2011-02-07 14:06:39] asaf at lingnu dot com

Description:
------------
when creating zip archive with non-english filenames, 
the filenames are not encoded correctly, upon extraction
you get them like ???_???.txt.
(tested with various unzipping software on windows/linux)

a suggested workaround, e.g:

$zip->addFile($file_data['path'], iconv("UTF-8","CP852",$file_name));

doesn't help

Test script:
---------------
<?php

   $zip = new ZipArchive();

   if ($zip->open('/tmp/test.zip', ZIPARCHIVE::CREATE) === TRUE) {

      $zip->addFile('/tmp/file.txt', 'קובץ.txt');

      $zip->close();

      echo "done";

   } else {

      echo "failed";

   }

?>


Expected result:
----------------
create a zip file which can be extracted reproducing the original file names.

Actual result:
--------------
non english file names comes out corrupted, e.g: ???_???.txt


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



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

Reply via email to