python异常乱码如何解决
小弟采集一些内容,内容中存在一些乱码,本身可以看到那不是文字,而是乱码如下这样的文字,目标网页是GB18030我抓回来,转换为gbk然后入库,但由于有时候有写字符是上面的...
小弟采集一些内容,内容中存在一些乱码,本身可以看到 那不是文字,而是乱码 如下
这样的文字,目标网页是 GB18030 我抓回来,转换为gbk然后入库,但由于有时候有写字符是上面的那种乱码,会在插入的时候,破坏我的sql语句,导致sql语句执行不了,也就是sql语句被破坏了
请问怎么弄呢
我是否可以让程序遇到这种乱码的时候,忽略它,或者把他替换为空格,这样 往数据库插入空格 总比插入乱码好吧
请大神指点 谢谢
我目前用的 .encode('gbk','ignore') 进行转换的 展开
这样的文字,目标网页是 GB18030 我抓回来,转换为gbk然后入库,但由于有时候有写字符是上面的那种乱码,会在插入的时候,破坏我的sql语句,导致sql语句执行不了,也就是sql语句被破坏了
请问怎么弄呢
我是否可以让程序遇到这种乱码的时候,忽略它,或者把他替换为空格,这样 往数据库插入空格 总比插入乱码好吧
请大神指点 谢谢
我目前用的 .encode('gbk','ignore') 进行转换的 展开
2个回答
展开全部
如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。
所以,请仔细核对页面和数据库的编码。
即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:
s = 'GB18030字符串'
s = s.decode('GB18030') # 转化为unicode
s = s.encode('GBK') # 转化为GBK
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询