Webページ(http://autoweek.com)を取り出して処理しようとしていますが、エンコードエラーが発生しました。 Autoweekは "ISO-8859-1" のエンコードを宣言し、単語 "ニュルブルクリンク"(ウムラウト付きのu)Unicodeの問題Django-Python-URLLIB-MySQL
を持っている私が行います
# -*- encoding: utf-8 -*-
import urllib
webpage = urllib.urlopen(feed.crawl_url).read()
webpage.decode("utf-8")
それは私に次のエラーを与える:
'utf8' codec can't decode bytes in position 7768-7773: unsupported Unicode code range"
私が.decodeステップをバイパスしてlxmlライブラリを使って解析すると、データベースに解析されたタイトルを保存するときにエラーが発生します:
'utf8' codec can't decode bytes in position 45-50: unsupported Unicode code range
私のデータベースには、キャラクタ・セットUTF8と照合UTF-一般-CI
私の設定があります。
ジャンゴ
のPython 2.4.3
のMySQL 5.0.22
のMySQL-pythonの1.2.1
mod_pythonの3.2.8
私はフェッチしている(異なるエンコーディングの)すべてのページにこのソリューションをシリアル化する必要があります。だから私はフェッチし、エンコードを抽出し(宣言されている場合)、デコードしなければなりません。 さらに簡単なソリューションですか? –
いいえ、間違った文字を捨てない限り、これは唯一の解決策です。正直なところ、それほど複雑ではありません。 –
+1 iso-8859-1を使用してデコードする必要があります。私はあなたのURLに対してこれを確認して、うまくいきます。 – mhawke