欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

UnicodeDecodeError不明觉厉

程序员文章站 2023-11-19 12:29:22
使用 mysql 的时候,链接的时候 ,没有声明  charset='utf8' 所以在html试图向后台post中文字符的时候,报错了,说 ...

使用 mysql 的时候,链接的时候 ,没有声明  charset='utf8'
所以在html试图向后台post中文字符的时候,报错了,说  'latin-1'  codec can't encode byte in position  :
在我往链接数据库那句的参数加了  charset = 'utf8' 之后,情况有变,居然什么都打不开了,提示的是:
[python]
 
"unicodedecodeerror: 'ascii' codec can't decode byte  in position : ordinal not in range(128)"

当时真的太不冷静,都没有仔细去思考这个问题,马上就开始乱谷歌,结果可想而知。
一个问题,如果你不是有至少2分了解,就算你找到教程照着做解决了,下次你还是会碰壁。
所以写这文章是为了提醒自己,也是想可能会对同样在网上乱搜的同好们有所帮助吧。

我绝望了,尝试向sae的管理员po了一个建议(建议它改decoder,我也真是好傻)
 然后想了一下,修复之。现在ok了。
过了不久(从我po but report 到管理员回复,10分钟,在此我深感欣慰),新浪的管理员回复了,提的建议跟上面的文章一模一样:
修改.py文件里的默认编码

[python] 
import sys 
reload(sys) 
sys.setdefaultencoding('utf8') 

至此问题算是告一段落。
以下是总结时间。

想想整个流程,python从数据库select数据,用render的方法提取html模板,渲染之,然后display给用户,用户post数据到后台,后台再处理,放进数据库。