Hi, thanks for your replies.
I tried to use DotNetZip under Mono on Linux, it partially works, but not for all files, because Mono seems to have some limitations and bugs about that.
First I read in Mono's doc :
This problem arises when you have
files in your file system that Mono
can not convert into Unicode. Mono
uses the UTF-8 encoding for the
filenames stored in your file system
by default, because it is the
universally accepted standard.
Alternatively, you can set the
MONO_EXTERNAL_ENCODINGS variable, but
this is not recommended. The problem
with using MONO_EXTERNAL_ENCODINGS is
that even if Mono will be able to
parse your filenames, Mono will still
store the filenames internall as
Unicode. If you try to move, overwrite
or do any other manipulation in the
file Mono will transform the filename
from Unicode to your native encoding
and it might fail to find the file.
Indeed, I get some strange behaviors on the command-line : files can't be added if they contains spaces.
It happens with file names passed through the command line arguments, but folders does not trigger any error, nor files inside directories.
root@portable:~/Bureau# ./ZipIt.exe archive.zip -cp 850 "AB CD.txt"
That zip file (archive.zip) already exists.
adding selection 'AB CD.txt' from dir '.'...
Exception: System.ArgumentException: 'AB CD.txt'
at Ionic.FileSelector._ParseCriterion (System.String s) [0x00000]
at Ionic.FileSelector..ctor (System.String selectionCriteria) [0x00000]
at Ionic.Zip.ZipFile._AddOrUpdateSelectedFiles (System.String selectionCriteria, System.String directoryOnDisk, System.String directoryPathInArchive, Boolean recurseDirectories,Boolean wantUpdate) [0x00000]
at Ionic.Zip.ZipFile.UpdateSelectedFiles (System.String selectionCriteria, System.String directoryOnDisk, System.String directoryPathInArchive, Boolean recurseDirectories) [0x00000]
at Ionic.Zip.Examples.ZipIt.Main (System.String[] args) [0x00000]