python异常乱码如何解决

小弟采集一些内容,内容中存在一些乱码,本身可以看到那不是文字,而是乱码如下这样的文字,目标网页是GB18030我抓回来,转换为gbk然后入库,但由于有时候有写字符是上面的... 小弟采集一些内容,内容中存在一些乱码,本身可以看到 那不是文字,而是乱码 如下

这样的文字,目标网页是 GB18030 我抓回来,转换为gbk然后入库,但由于有时候有写字符是上面的那种乱码,会在插入的时候,破坏我的sql语句,导致sql语句执行不了,也就是sql语句被破坏了

请问怎么弄呢

我是否可以让程序遇到这种乱码的时候,忽略它,或者把他替换为空格,这样 往数据库插入空格 总比插入乱码好吧

请大神指点 谢谢
我目前用的 .encode('gbk','ignore') 进行转换的
展开
 我来答
nbyh2012
2013-11-02 · TA获得超过3278个赞
知道小有建树答主
回答量:483
采纳率:100%
帮助的人:795万
展开全部

如果页面是GB18030编码,而数据库是GBK编码,一般来说是不用转换的。GB18030是GBK的超级。GB18030本身兼容GBK,而GB18030中的部分字符GBK中是没有的。将GB18030字符写入GBK的数据库,只会丢失部分字符而已。一般网页上不会出现罕见的字符,所以这种情况是无需处理的。


所以,请仔细核对页面和数据库的编码。


即使你提供的页面、数据库编码是正确的,而且一定要转换,也应该这样做:

s = 'GB18030字符串'
s = s.decode('GB18030') # 转化为unicode
s = s.encode('GBK') # 转化为GBK
hachiwolf
2013-11-02
知道答主
回答量:2
采纳率:0%
帮助的人:2313
展开全部
为什么不转成GB18030?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式