I think I may be in the minority, with this question...but what the heck!
At home I'm running Red Hat 9 Linux. There are several FTP programs included (gFTP, kGet, and such), and there are a few others available from SourceForge. I have been looking for one that allows me to define which filetypes get transferred in ASCII mode, because I can't find the setting for this in the standard ones. KBear, from SourceForge, purports to have an "Extensions" setting for this purpose...but I can't seem to locate it.
As a workaround, I use gFTP (Gnome) to transfer the binary files, then switch to a terminal to transfer the ASCII files. A bit cumbersome, but it gets the job done. I'd think there was something more robust available, or at least some simple way to set this up. I'm probably not looking in the right place.
Um...any Linux FTP thoughts?
In my quest, I have been reading lots of info about FTP between two Linux boxes or between Linux and Unix (Let's just call it Posix, shall we?).
It seems like the preferred method of transfer in these situations is binary, binary, and more binary ... regardless of the file type. I haven't gleaned exactly why this is so, yet, but that's probably why I don't see options for switching between ASCII and binary modes in the Linux FTP programs.
From a WinBox to Linux/Unix, it is imperative that the proper transfer mode be selected, so maybe there is a bit-conversion taking place that does not occur in a full-on Posix relationship. Dunno. Still learning...
The real poop:
Windows text editors write text files (html, php, cgi, et al.) using "DOS mode ASCII", which uses a different, hidden means of ending a line of text (specifically, for you techies: \r\n) than a Posix text editor uses (\n). As a result, in a Windows=>Posix or Posix=>Windows situation, you MUST specify ASCII mode for transferring text-type files to and from the server so the line endings get translated correctly, particularly with text files which will become executable (PERL scripts, et al) on the server.
In a Posix=>Posix situation, there is no need for line-ending translation, so binary mode is just fine for transferring any type of file via FTP.
I discovered this after uploading a little script from a Winbox and having problems executing it, due to the DOS line endings (Error: "bad interpreter"). I simply rewrote the script at the Posix server (using vi) ... no more DOS problems ... script runs fine.
Whew! That's that, I guess.