سؤال

لدي مشكلة غريبة مع lxml عند استخدام نشرت نسخة من التطبيق جانغو.يمكنني استخدام lxml تحليل آخر صفحة HTML الذي أحضر من الخادم.هذا يعمل بشكل جيد تماما على التنمية الخادم على جهاز الكمبيوتر الخاص بك, ولكن لسبب ما يعطيني UnicodeDecodeError على الملقم.

('utf8', "\x85why hello there!", 0, 1, 'unexpected code byte')

لقد حرصت أن اباتشي (مع mod_python) يعمل مع LANG='en_US.UTF-8'.

لقد حاولت البحث في قوقل عن هذه المشكلة و حاول أساليب مختلفة فك السلسلة بشكل صحيح, ولكن أنا لا يمكن أن الرقم بها.

في الإجابة ، قد نفترض أن سلسلة بلدي يسمى hello أو شيء من هذا.

هل كانت مفيدة؟

المحلول

و"\ x85why مرحبا هناك!" ليس UTF-8 سلسلة المشفرة. عليك أن تحاول فك صفحة ويب قبل تمريرها إلى lxml. تحقق ما الترميز يستخدم ذلك من خلال النظر في عناوين http عند جلب الصفحة ربما تجد مشكلة هناك.

نصائح أخرى

لا جملة مثل u"\x85why hello there!" مساعدة ؟

قد تجد الموارد التالية من المسؤول الثعبان الوثائق المفيدة:

ومنذ تعديل site.py ليس حلا مثاليا حاول هذا في بداية البرنامج:

import sys
reload(sys)
sys.setdefaultencoding("utf-8")
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top