FTP servers on Windows usually default to text/ascii mode for transfers. Linux FTP servers more often default to binary mode. When in doubt, set the transfer mode manually before transmitting/receiving files.
What text mode actually does is clean up the differences between DOS/Windows text files and Unix-format text files. For historical reasons, DOS text files terminate text lines with CR/LF and originally ended the file with a "control-Z" character. Unix figures that one end-of-line character is enough, so when uploading and storing in text mode, the CR and Control-Z characters are removed. Since CR is a hexadecimal 0D and ZIP files often have 0D bytes in their binary content simply because one byte value is about as likely as any other in binary, transmitting a ZIP file in text mode will generally damage it.
However, when you upload a ZIP file with Windows-generated text files in it, unzip it and attempt to use those files on a Linux or Unix system, those CR characters won't have been converted. Likewise, when a file is sent to Windows, the CR characters won't have been added. Which isn't a problem for Wordpad, but Windows Notepad wants those CR characters, as does the old DOS EDIT program.
To convert text files in a ZIP archive, you have at least 2 options:
1. Unzip utilities often have a "convert text" option. On the unZip utility that I use, it's "-a". This will convert the files as they are unzipped.
2. There is also a pair of programs called unix2dos/dos2unix that can take files and convert them.
3. (I did say AT LEAST 2!
) if you're a die-hard Unix geek, you can use a standard text utility such as the "tr" program to convert the files.