This is an old revision of the document!

How do I make WinSCP show localized and/or UTF-8 encoded (Unicode) filenames correctly?

Advertisement

SFTP

SFTP protocol specification requires that client and server uses UTF-8 encoding (Unicode) for file names.

WinSCP can operate in two modes, either it expects that the local machine and the server uses the same encoding (no conversion is done) or treats remote filenames as UTF-8 (Unicode) encoded. By default, the first mode is used for SFTP-3 and lower1, the latter mode is used for newer versions. You can force non-default behaviour using session option UTF-8 encoding for filenames. This is useful especially for servers that use UTF-8 natively, thus even for older versions of SFTP.

Please be aware that if your server does not support UTF-8 encoding, but uses its local legacy encoding instead, it is its fault. The problem is not on WinSCP side. You should push your server provider to add support for UTF-8, and not ask for support of legacy encoding in WinSCP.

FTP

For FTP protocol, usage of UTF-8 is also controlled session option UTF-8 encoding for filenames.

SCP

For SCP protocol filename encoding conversion is not supported at all.

Remark

Also note that WinSCP is not an Unicode application. Hence it can display only characters that are present in default language code page of your workstation. For example, even if your server supports UTF-8 (Unicode), its filenames contains Chinese characters, but your workstation default language is German, WinSCP will not be able to display the Chinese characters correctly. However it should be able to manage the files correctly. To find out what is your default language, go to Start > Settings > Control Panel > Regional and Language Options > Advanced > Language for non-Unicode programs (on Windows XP).

Advertisement

  1. SFTP specification before version 4 has not required UTF-8 explicitly.Back

Last modified: by martin