আমি Python-2.6 CGI
স্ক্রিপ্ট ব্যবহার করছি তবে সার্ভার লগ করার সময় এই ত্রুটিটি পেয়েছি json.dumps()
,
Traceback (most recent call last):
File "/etc/mongodb/server/cgi-bin/getstats.py", line 135, in <module>
print json.dumps(__getdata())
File "/usr/lib/python2.7/json/__init__.py", line 231, in dumps
return _default_encoder.encode(obj)
File "/usr/lib/python2.7/json/encoder.py", line 201, in encode
chunks = self.iterencode(o, _one_shot=True)
File "/usr/lib/python2.7/json/encoder.py", line 264, in iterencode
return _iterencode(o, 0)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xa5 in position 0: invalid start byte
এখানে,
__getdata()
ফাংশন আয় dictionary {}
।
এই প্রশ্ন পোস্ট করার আগে আমি এই প্রশ্ন ওএস এর উল্লেখ করেছি ।
আপডেট
নিম্নলিখিত লাইনটি JSON এনকোডারকে আঘাত করছে,
now = datetime.datetime.now()
now = datetime.datetime.strftime(now, '%Y-%m-%dT%H:%M:%S.%fZ')
print json.dumps({'current_time': now}) // this is the culprit
আমি এটির জন্য একটি অস্থায়ী সমাধান পেয়েছি
print json.dumps( {'old_time': now.encode('ISO-8859-1').strip() })
তবে আমি নিশ্চিত না যে এটি করা সঠিক উপায়।
dict
আছেlist, dict, python timestamp value
__getdata
। আপনি কেন একটি ডিকোডেবল চরিত্র পাচ্ছেন তা আমি জানি না । এটিকে কার্যকর করার জন্য আপনি ডিকের উপর প্যাচগুলি নিয়ে আসতে চেষ্টা করতে পারেন তবে সেগুলি পরে বেশিরভাগ ক্ষেত্রে আরও সমস্যা জিজ্ঞাসা করছে। আমি অ্যাস্কেই অক্ষরটি কোথায় আছে তা দেখার জন্য ডিকটি মুদ্রণের চেষ্টা করব। তারপরে কীভাবে সেই ক্ষেত্রটি গণনা / সেট এবং সেখান থেকে পিছিয়ে কাজ করে তা নির্ধারণ করুন।
dict
?