Python Forum

Full Version: FTP with special character in password
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Hello
I am new to python and i am trying to connect to FTP to download files. The FTP password provided by vendor has a special character '(apostrophe) in it.
To resolve error:
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2019' in position 12: ordinal not in range(256)

I used encode('cp1252') in my ftps login but then the problem is login at FTP site fails with
error_perm: 530 Login or password incorrect!

How do you get around this issue ?

Thanks!
Use a raw string?
Thank you for your response but using raw string also results in
UnicodeEncodeError: 'latin-1' codec can't encode character '\u2019' in position 12: ordinal not in range(256)
I am assuming you have already tested the ftp from the command line or from a GUI?
Have you tried utf-8 or ansi encoding?
Yes, i did try the credentials in GUI and it works there. I did try the UTF8 also but no luck. the additional charactrs that replace ' in the password fail the connection
How about normalizing your password string first?
import unicodedata
norm_password = unicodedata.normalize('NFKD', password)
Edit: u2019 is a right apostrophe. Maybe you need a different one? See: https://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html i.e. "\u27"