Hmm.. that may not be the best way to do it. The user can choose whatever browser they want, and set things like encoding type, etc. which might cause you a lot of problems. A cleaner way to do it might be to use the 'Content-Disposition' header (try a Super Seach
on this), which will prompt the browser to download the file automatically.
This may or may not solve your actual problem though. If you've viewed the file with a hex editor once it gets to windows, and it has the correct EOL sequence, then I can't see why notepad should be putting squares after it.