Python/HTML: Unicode解码错误
我正在开发一个使用Python的Flask网页应用,可能这个问题和Flask没什么关系。我遇到了一个错误:UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 5: invalid continuation byte
。我在文件顶部加了# -*- coding: utf-8 -*-
,但还是出现同样的错误。这是代码的一部分:
s+="Searching results for: \"%s \"<br><br>".encode("utf-8") % (pattern)
for i in orderedList[0:10]:
a=a+1
res=(SC.dictionaryMemory.get(i))
try:
resString= ', '.join(res)
except:
print("Chyba!")
with open('somefile.txt', 'a') as the_file:
the_file.write(resString)
s+="<b>%s: </b>%s,<br>".decode("utf-8") % (i, resString.decode("utf-8"))
return (s.decode("utf-8") if (len(orderedList)>0) else "Nebyli nalezeny zadne vyrazy.".encode("utf-8")))
这是我在网页上看到的错误信息:
File "C:\Python27\lib\site-packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Python27\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Python27\lib\site-packages\flask\app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:\workspace\AproximateSearchPython2\WebApp.py", line 74, in search
s+="<b>%s: </b>%s,<br>".decode("utf-8") % (i, resString.decode("utf-8"))
File "C:\Python27\lib\encodings\utf_8.py", line 16, in decode
return codecs.utf_8_decode(input, errors, True)
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 5: invalid continuation byte
我认为问题出在resString的内容上。在somefile.txt文件里是这样的:
společné, obecný, veřejný, společný, prostý, obyčejný, obvyklý, obecný, společný, běľný
你能给我一些建议吗?
补充:我把解码改成了编码,但同样的问题又出现了。
File "C:\Python27\lib\site-packages\flask\app.py", line 1836, in __call__
return self.wsgi_app(environ, start_response)
File "C:\Python27\lib\site-packages\flask\app.py", line 1820, in wsgi_app
response = self.make_response(self.handle_exception(e))
File "C:\Python27\lib\site-packages\flask\app.py", line 1403, in handle_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 1817, in wsgi_app
response = self.full_dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1477, in full_dispatch_request
rv = self.handle_user_exception(e)
File "C:\Python27\lib\site-packages\flask\app.py", line 1381, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "C:\Python27\lib\site-packages\flask\app.py", line 1475, in full_dispatch_request
rv = self.dispatch_request()
File "C:\Python27\lib\site-packages\flask\app.py", line 1461, in dispatch_request
return self.view_functions[rule.endpoint](**req.view_args)
File "D:\workspace\AproximateSearchPython2\WebApp.py", line 75, in search
s+="<b>%s: </b>%s,<br>".encode("utf-8") % (i, resString.encode("utf-8"))
UnicodeDecodeError: 'utf8' codec can't decode byte 0xe8 in position 5: invalid continuation byte
1 个回答
0
s+= unicode("""Searching results for: "{pattern}" <br><br>""").encode("utf-8").format(pattern=pattern)
当然可以!请把你想要翻译的内容发给我,我会帮你用简单易懂的语言解释清楚。