4.14 Enabling ZIP Files That Contain Extended or Double-Byte Characters in the Filename to Be Downloaded

By default, when Vibe 3 or later is used to create a ZIP file with files that contain double-byte characters in the filename, the filenames for the downloaded files are displayed as _file1, _file2, _file3, etc. This is because the Java ZIP file facility is not capable of creating filenames that contain double-byte characters.

The files within Vibe remain unchanged.

To help fix this issue, you can leverage the org.apache.tools.zip facility by modifying settings on your Vibe server that determine the character encodings that Vibe uses when files are downloaded.

NOTE:This workaround is effective only when the following conditions are met:

  • The system encoding of both the Vibe server and the client system are the same. For example, both are UTF-8.

  • The unzip utility used to unzip the file uses the same encoding that was used to zip the file. For example, on SLES 11, you must use the unzip -S command to unzip the file.

To modify the necessary settings on your Vibe server:

  1. Change to the following directory:

    Linux:

    /opt/novell/teaming/apache-tomcat/
                               webapps/ssf/WEB-INF/classes/config
    

    Windows:

    c:\Program Files\Novell\Teaming\apache-tomcat\
                               webapps\ssf\WEB-INF\classes\config
    
  2. Open the ssf.properties file in a text editor.

  3. Search for the following line:

    encode.zip.download.filenames=false
    
  4. Make a backup copy of the ssf-ext.properties file, which is located in the same directory as the ssf.properties file.

  5. Open the ssf-ext.properties file in a text editor.

  6. Copy the encode.zip.download.filenames=false line from the ssf.properties file to the bottom of the ssf-ext.properties file.

  7. Change the value of this property from false to true, so that it now reads as follows:

    encode.zip.download.filenames=true
    
  8. Open the ssf.properties file in a text editor if it is not already.

  9. Search for the following line:

    encode.zip.download.filename.encoding=cp437
    
  10. Copy the encode.zip.download.filename.encoding=cp437 line from the ssf.properties file to the bottom of the ssf-ext.properties file.

  11. Change the value of this property from cp437 to whatever type of encoding is used by your operating system. For example, utf-8. The line should now read as follows:

    encode.zip.download.filename.encoding=encoding
    
  12. Save and close the ssf-ext.properties file.

  13. Close the ssf.properties file without saving it.

  14. Stop and restart Vibe.