LINUX.ORG.RU

python и ftp ссылки


0

0

имеется записи имён файлов(utf-8) на ftp сервере(с 1251 кодировка)

необходимо сконвертировать имя из utf-8 в cp1251 так чтобы вставить в utf-8 xml документ, я пологаю так

def make_link(str): return make_cdata( urllib.quote( str.decode("cp1251") ) )

но ссылки всё равно не не рабтают opera генерит нормальный ftp ссылки, а я в 7 утра уже не могу :)

есть ещё какие нить варианты?

★★★

Сначала из utf-8 в уникод, потом из уникода в цепе1251.

Joe_Bishop
()

В urlib.quote() сломана работа с юникодными строками. Еще даже в версии 3.0 не починили. Пользуйтесь костылем:

urllib.quote(string.decode("cp1251").encode('utf-8')).decode('utf-8')

anonymous
()

во как извратился

def make_link(str):
	return make_cdata( urllib.quote( str.decode("utf-8").encode("cp1251") ) ) 

fMad ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.