Как я могу обработать неправильно закодированный символ с Python 2?
Файл HTML, который я получаю, содержит некоторые символы, которые не поддерживаются кодировкой, указанной в заголовке HTML:
Я обнаружил, что следующие не поддерживаются кодировкой Shift_JIS, но фактически используются. Мой браузер может правильно отображать эти символы.
- ∑ n-арное суммирование U + 2211
- ゚ половина ширины катакана полуголосый звук марки U + FF9F
- Д кириллическая заглавная буква де U+414
Когда я пытаюсь прочитать этот HTML-файл и декодировать для обработки, я получаю UnicodeDecodeError.
url = 'http://matsucon.net/material/dic/kao09.html'
response = urllib2.urlopen(url)
response.read().decode('shift_jis_2004')
Любой хороший способ обработать HTML, который содержит неправильно закодированные символы, без получения ошибки?
1 ответ
Решение
Попробуй это:
response.read().decode('shift_jis_2004',errors='ignore')