关于数据出库的问题

仍然是今晚发现的,我把某个站点的文章列表标题拿回来后保存到数据库里面,然后会有一个显示的功能,而这个问题今晚搞了我大概两个小时的时间。

哎,写太多前端了,后台很多知识都忘记了。其实我之前也有碰过的,是在写学校微信号后台的时候,大概是问题是数据库会以二进制的形式保存数据,而出来后会是ASCII的编码形式,大概,并没有去具体考究,好像MYSQL是不一样的,读写都可以定义编码。

而我用Sqlite3,并没有定义到编码方式,所以根据python2.7,就是ASCII了。而python文件中是UTF-8编码,即你在文件头的注释编码。所以两者会有冲突,进行拼接的时候特别容易发生错误。

因为输出的不止是标题,还有链接,所以刚刚出错的时候我一直在搞后面的标题,并没有注意到前面的链接也需要转换编码,于是就很悲剧了。一开始的时候是各种decode和encode,从UTF-8到GBK,GB2312,甚至搬出了之前搞百度热点的unicode-escape,还有repr,str,unicode方法。都不行。问题不止一个而我一直却以为是一个问题。后来把变量拆开来输出就发现问题了。统一encode为UTF-8,一下子就出来了。别提有多爽了。

其实还是因为自己编程经验少了。