you're better off using http(s) instead of ftp. almost everything you upload and download nowadays is via http(s). or scp (secure copy).
if you have to use ftp, you need to google "ftp unicode" and study a little. it's not totally clear. if the client is, in fact, sending a file name in unicode, then the server has to be able to accept it in unicode. your client may be sending the ?????'s. the actual contents of the file have to go a certain way (7-bit), but there is an extension for ftp to deal with file names in unicode. (these transport protocols were written years ago when the world spoke ascii.)