Support This Project

About Unicode

Unicode is an industry standard designed to allow text and symbols from all of the writing systems of the world to be consistently represented and manipulated by computers. UTF-8 (8-bit UCS/Unicode Transformation Format) is a variable-length character encoding for Unicode. It is able to represent any universal character in the Unicode standard, yet the initial encoding of byte codes and character assignments for UTF-8 is consistent with ASCII (requiring little or no change for software that handles ASCII but preserves other values). For these reasons, it is steadily becoming the preferred encoding for e-mail, web pages, and other places where characters are stored or streamed.

UTF-8 uses one to four bytes (strictly, octets) per character, depending on the Unicode symbol. Only one byte is needed to encode the 128 US-ASCII characters (Unicode range U+0000 to U+007F). Two bytes are needed for Latin letters with diacritics and for characters from Greek, Cyrillic, Armenian, Hebrew, Arabic, Syriac and Thaana alphabets (Unicode range U+0080 to U+07FF). Three bytes are needed for the rest of the Basic Multilingual Plane (which contains virtually all characters in common use). Four bytes are needed for characters in other planes of Unicode.

wzdftpd Implementation

By default, wzdftpd uses RFC 2640 compliant UTF-8 encoding by default for tasks such as directory listings and path names sent as command arguments. The FTP commands OPTS UTF8 ON and OPTS UTF8 OFF can be sent by the client to enable/disable the use of UTF-8 encoding for the current session. Some FTP client software does not properly support UTF-8 encoding and it is reported that the only commonly-known Windows FTP client that 100% supports UTF-8 is SmartFTP. Because UTF-8 and ASCII character sets are the same for the first 128 bytes (which covers all English alpha-numerical-punctuation characters), problems aren't often detected. However when problems do occur, accented characters such as รถ will not display correctly, and when included as an argument to a command such as RETR, DELE or MKDIR, will result in wzdftpd returning an error.

Links