বিভিন্ন ওয়েব পৃষ্ঠা (বিভিন্ন সাইটে) থেকে প্রাপ্ত পাঠ্য থেকে ইউনিকোড অক্ষরগুলি নিয়ে আমার সমস্যা হচ্ছে। আমি বিউটিফুলসপ ব্যবহার করছি।
সমস্যাটি হ'ল ত্রুটিটি সর্বদা পুনরুত্পাদনযোগ্য হয় না; এটি কখনও কখনও কিছু পৃষ্ঠাগুলির সাথে কাজ করে এবং কখনও কখনও এটি নিক্ষেপ করে বাধা দেয় UnicodeEncodeError
। আমি যা ভাবতে পারি সে সম্পর্কে কেবল চেষ্টা করেছি এবং এখনও কোনওরকম ইউনিকোড-সম্পর্কিত ত্রুটি না ফেলেই ধারাবাহিকভাবে কাজ করে এমন কিছুই পাইনি।
কোড তৈরির একটি বিভাগ যা সমস্যার সৃষ্টি করছে তা নীচে দেখানো হয়েছে:
agent_telno = agent.find('div', 'agent_contact_number')
agent_telno = '' if agent_telno is None else agent_telno.contents[0]
p.agent_info = str(agent_contact + ' ' + agent_telno).strip()
উপরের স্নিপেটটি চালানো হলে এখানে কয়েকটি স্ট্রিংয়ে স্ট্যাক ট্রেস উত্পাদিত হয়:
Traceback (most recent call last):
File "foobar.py", line 792, in <module>
p.agent_info = str(agent_contact + ' ' + agent_telno).strip()
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 20: ordinal not in range(128)
আমার সন্দেহ হয় যে এর কারণ হ'ল কিছু পৃষ্ঠাগুলি (বা আরও সুনির্দিষ্টভাবে, কিছু সাইটের পৃষ্ঠাগুলি) এনকোড করা থাকতে পারে, অন্যদিকে এনকোড করা থাকতে পারে। সমস্ত সাইট ইউকে ভিত্তিক এবং যুক্তরাজ্যের ব্যবহারের জন্য ডেটা সরবরাহ করে - সুতরাং অভ্যন্তরীণকরণ বা ইংরেজী ব্যতীত অন্য কোনও লিখিত পাঠ্যের সাথে সম্পর্কিত সম্পর্কিত কোনও সমস্যা নেই।
কীভাবে এই সমস্যাটি সমাধান করবেন সে সম্পর্কে কারও কি কোনও ধারণা রয়েছে যাতে আমি এই সমস্যাটি বোধহয় সমাধান করতে পারি?
import os; import locale; os.environ["PYTHONIOENCODING"] = "utf-8"; myLocale=locale.setlocale(category=locale.LC_ALL, locale="en_GB.UTF-8"); ... print(myText.encode('utf-8', errors='ignore'))
।
$ export PYTHONIOENCODING=utf8