python读取json文件时出现的编码错误问题?

理由
举报 取消

如下图所示:很简单的一个读取json文件的代码,但是在print语句中出现了问题:UnicodeEncodeError: ‘gbk’ codec can’t encode character ‘\xae’ in position 60975: illegal multibyte sequenceps:之前在open之前不加encoding=”utf8″时也会这样请问各位大神如何解决这种问题,谢谢!

2017年12月5日 3 条回复 797 次浏览

发起人:潇遣 初入职场

回复 ( 3 )

  1. Twiknight
    理由
    举报 取消

    知乎可不是懒人的百度。

    不过看你嘴甜,我姑且说两句。

    不是你代码的问题,是windows的问题。windows的cmd是用gbk编码的。

    utf-8编码的字符要显示在cmd里面,必须先转成gbk

    如果目标字符串中出现了gbk中没有字符,就会报这个错。

    解决办法么,别用cmd就好了。反正你就是要验证个结果,往文件里面写了再看下就完事了。

    要么你就在打印之前把字符串转成gbk,然后把不能转的ignore了。

    要么就用linux,默认utf-8。

    据说windows的cmd可以设置默认字符集——反正我没试过。你可以自己去查。

    —————————

    顺便一说,上面的答案是我把你的错误信息bing了一下,在第一个结果里面看到的。

    全程不超过5分钟。

    要好好利用搜索引擎啊,盆友。

  2. sunoru
    理由
    举报 取消

    说个和问题不是很有关系的

    你的json_file.close()这句话是多余的,题主你真的知道with语句的作用吗?

  3. Ryan Fan
    理由
    举报 取消
    import sys
    reload(sys)
    sys.setdefaultencoding('utf-8')
    

我来回答

Captcha 点击图片更换验证码