UnicodeDecodeError不明觉厉


使用 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数据到后台,后台再处理,放进数据库。

相关内容

    暂无相关文章

评论关闭