If Ftp.SupportsUTF8 is false your server doesn't support UTF8 extension. It specifies if server understands UTF8 in commands and text/ascii transfers.
Ftp.dll transfers all files as raw bytes, no text encoding is performed.
Unless you explicitly specify Ftp.TransfersDataType property, binary mode is used for all transfers, which tells server to treat data as binary stream, not text.
Most likely you incorrectly create the byte array you pass to Ftp.Upload method.