-1

Web ページからページ ソースを読み取り、そのソースから値を解析しています。そこで、特殊文字の問題に直面しています。

私のpythonコントローラーファイルでは、# -*- coding: utf-8 -*-. しかし、私は使用しているWebページのソースを読んでいますcharset=iso-8859-1

したがって、エンコーディングを指定せずにページのコンテンツを読み取ると、次のようにエラーがスローされますUnicodeDecodeError: 'utf8' codec can't decode byte 0xfc in position 133: invalid start byte

私が使用するstring.decode("iso-8859-1").encode("utf-8")と、エラーなしでデータが解析されます。しかし、値は「Fünke」ではなく「F\u00fcnke」として表示されます。

この問題を解決する方法を教えてください。提案をいただければ幸いです。

4

1 に答える 1

0

エンコーディングは確かにPython3のPITAです(場合によっては2も)。これらのリンクをチェックしてみてください。役立つかもしれません。

Python - エンコーディング文字列 - スウェーデン文字
Python3 - ascii/utf-8/iso-8859-1 はバイト 0xe5 (スウェーデン文字) をデコードできません

http://docs.python.org/2/library/codecs.html

また"So when I read the page content without specifying any encoding"、コンソールが utf-8 を使用していないこと (たとえば、windows..) のコードでいいと思い# -*- coding: utf-8 -*-ます自分自身を解析または分析しようとしています. たとえば、私は次のように書いています:

# -*- coding: iso-8859-1 -*-
import time
# Här skriver jag ut tiden (Translation: Here, i print out the time)
print(time.strftime('%H:%m:%s'))
于 2013-08-18T21:38:03.827 に答える