Прошло некоторое время, но я думаю, что нашел ответ.
Я предположил, что это слово должно быть Аквалир. Я нашел описание страницы на французском языке. Когда я использовал ваш фрагмент кода, у меня была строка типа
>>> fileinfo.filename
'Akval\x82ir, La police - The Font - Fr - En.pdf'
>>>
Это не сработало в кодировках UTF8, Latin-1, CP-1251 или CP-1252. Затем я обнаружил, что CP863 была возможной канадской кодировкой, так что, возможно, она была из французской Канады.
>>> print unicode(fileinfo.filename, "cp863").encode("utf8")
Akvaléir, La police - The Font - Fr - En.pdf
>>>
Тем не менее, я тогда прочитал спецификацию формата файла Zip , в которой написано
Формат ZIP имеет исторически
поддерживается только оригинальный IBM PC
набор кодировки символов, обычно
упоминается как кодовая страница IBM 437.
...
Если установлен бит 11 общего назначения,
имя файла и комментарий должны поддерживать
Стандарт Юникод, версия 4.1.0 или
больше с использованием кодировки символов
форма определяется хранилищем UTF-8
спецификация.
Тестирование дает мне тот же ответ, что и канадская кодовая страница
>>> print unicode(fileinfo.filename, "cp437").encode("utf8")
Akvaléir, La police - The Font - Fr - En.pdf
>>>
У меня нет zip-файла в кодировке Unicode, и я не собираюсь его создавать, поэтому я просто предположу, что все zip-файлы имеют кодировку cp437.
import shutil
import zipfile
f = zipfile.ZipFile('akvaleir.zip', 'r')
for fileinfo in f.infolist():
filename = unicode(fileinfo.filename, "cp437")
outputfile = open(filename, "wb")
shutil.copyfileobj(f.open(fileinfo.filename), outputfile)
На моем Mac это дает
109936 Nov 27 01:46 Akvale??ir_Normal_v2007.ttf
25244 Nov 27 01:46 Akvale??ir, La police - The Font - Fr - En.pdf
, который завершается до
ls Akvale\314\201ir
и появляется с хорошим 'é' в моем файловом браузере.