[Twisted-Python] utf-8 support for ftp

Adi Roiban adi at roiban.ro
Thu Nov 22 04:35:28 MST 2012


On 21 November 2012 19:45, Paul Wiseman <poalman at gmail.com> wrote:
> On 21 November 2012 17:35, Paul Wiseman <poalman at gmail.com> wrote:
>>
>> I know this has been asked before, I've found it in several trackers.
>>
>> http://twistedmatrix.com/trac/ticket/5411
>> http://twistedmatrix.com/trac/ticket/4515
>> http://twistedmatrix.com/trac/ticket/5100
>>
>> Some of these were created a while ago, some with patches. I wondered what
>> the current status was with regards to utf-8 in ftp? Is it currently
>> possible?
>>
>> I'm trying to list a folder called 'Paul’s Mac Pro', this gets returned as
>> 'Paulâ s Mac Pro'. The client tries to list that folder, and the server
>> returns 'Paulâ  s Mac Pro: No such file or directory.' I think the client
>> is interpreting the bytes that make up the unicode char as separate ascii
>> characters. (maybe a problem with the client? FileZilla 3.6.0.1)
>>
>> This problem may be made worse by my implementation of IFTPShell, I can
>> try to make an example if this isn't the expected result.
>>
>> I'm returning all names and paths back encoded in utf-8, but maybe the
>> problem is the client isn't expecting it because there's no FEAT command (is
>> the patch in 4515 ok to add?)
>>
>> I just want to get an idea of how I can best go about getting this to
>> work. Will I need to build in support, or is it available in a newer
>> version, or by applying some patches?
>>
>> Thanks very much!!
>>
>> Paul

The patch from #4515 does little to provide a functional UTF-8 FTP
implementation.
It is there only to help advertise future implementation of UTF-8 support.

Thanks for reminding about #5411 . I have submitted a patch for review
together with required tests.

I have a few more FTP ticket in work/waiting for review. As soon as
they are done, I will look at UTF-8 support.

----

Patch #4515 is already in trunk, and together with patch for #5411 it
should be a good start for UTF-8 support.

Ticket #5100 is mainly about the default IFTPShell implementation, but
if you have your own IFTPShell implementation just make sure it
accepts input as str encoded utf-8 and that it output str encoded
utf-8

Cheers,

-- 
Adi Roiban




More information about the Twisted-Python mailing list