scmasaru
On the "FEATURES" page, it clearly states Unicode / UTF8 / MBCS Support. But it seems the MBCS part is lacking. If an FTP server uses MBCS (say, Shift-jis or big-5) and does not support UTF8. It is not posible for smartftp to convert the MBCS encoding to Unicode, and all we see is the garbled directories and filenames.
Sure we can temporarily fix it by setting the default character encoding to that of the FTP server under Control Panel->"regional setting", but it destroys the whole purpose of using Unicode.
Converting from MBCS to Unicode should be as easy as convting from UTF8 to Unicode(UTF16). UTF8 is simply code page 65001 under Windows. Coder can simply replace the codepage value to others such as 932 (Shift-jis) or 950 (Big-5).
Better yet, each entries in Favorites can keep a field of which codepage is used by the server. when the connection is invoked, this field is examined and:
if codepage is ANSI
Don't process the control connection (codepage is set to system default)
if codepage is UTF8
1. attempt to enable UTF8 feature on the server side
even if it fails:
2. set the codepage to UTF8 (65001)
3. process the control connection with the converter
if codepage is others
1. set the codepage to the specified value.
2. process the control connection with the converter
Implementing this feature should be very simple because most of the required codes are already there.
the list of codepages can be found under Windows XP "Control Panel"->"Regional and Language Options"->"Advanced tab"
Sure we can temporarily fix it by setting the default character encoding to that of the FTP server under Control Panel->"regional setting", but it destroys the whole purpose of using Unicode.
Converting from MBCS to Unicode should be as easy as convting from UTF8 to Unicode(UTF16). UTF8 is simply code page 65001 under Windows. Coder can simply replace the codepage value to others such as 932 (Shift-jis) or 950 (Big-5).
Better yet, each entries in Favorites can keep a field of which codepage is used by the server. when the connection is invoked, this field is examined and:
if codepage is ANSI
Don't process the control connection (codepage is set to system default)
if codepage is UTF8
1. attempt to enable UTF8 feature on the server side
even if it fails:
2. set the codepage to UTF8 (65001)
3. process the control connection with the converter
if codepage is others
1. set the codepage to the specified value.
2. process the control connection with the converter
Implementing this feature should be very simple because most of the required codes are already there.
the list of codepages can be found under Windows XP "Control Panel"->"Regional and Language Options"->"Advanced tab"