Имя файла хорошо отображается в окнах, но отображает нечитаемые символы при получении Python - PullRequest
0 голосов
/ 24 октября 2019

Я пытаюсь распаковать файл и сохранить исходное имя файла. Исходное имя файла при просмотре в zip-файле: '[AC タ イ ヤ 統 合 デ タ タ DM (タ イ ヤ 情報)] * [201910231630] [201910241630] .CSV'

Однако, когда я получаю имя вPython

with ZipFile('[生産実績]_[201910231630]_[201910241630].ZIP', 'r') as zipObj:
    listOfFileNames = zipObj.namelist()
    print(listOfFileNames)

Вывод, который я получаю: '[ACâ ^ âCâäô ¥ ìçâfü [â ^ DM (â ^ âCâäÅεò ±)] [201910231630] [201910241630] .CSV'

Я подозреваю, что это проблема кодирования, связанная с UTF-8 shift-JIS или подобным. Как заставить python правильно отображать имя?

Я пробовал string.encode ("utf-8"). Decode ("CP932") и другие подобные варианты, но не работал.

1 Ответ

0 голосов
/ 01 ноября 2019

Видимо, строки закодированы в CP932. Это сработало, когда я указал это в пандах. Более быстрое решение - жестко закодировать имена в UTF-8 (кодировка по умолчанию) и напрямую использовать строку UTF-8.

...