python编码格式‘latin-1‘ codec can‘t encode character ‘\u79d2‘ in position 84: ordinal not in range(256)
python编码问题报错,'latin-1' codec can't encode character
·
python编码格式报错内容:‘latin-1’ codec can’t encode character ‘\uxxxx’ in position xx行: ordinal not in range(256)
背景:
代码是发起了一个requests请求,然后解析了返回内容之后,print进行打印输出,此时print报错,打印的内容里面有中文字符,所有就报错了。
(我曾经也在代码的py文件头上加上#coding=utf-8,但问题依旧没办法解决,可能是我的写法有问题吧,若有别的办法能解决这个编码问题,在评论分享一下,感觉大佬的支持。)
问题导致的原因:
系统的默认编码格式设置有问题,不是en_US.UTF-8
解决前的情况:
输入:locale
打印内容如下截图:
解决措施:
- 修改了 /etc/default/locale 文件
操作命令:sudo vim /etc/default/locale
然后将所有的en_US全部改成en_US.UTF-8,新加了一行LC_ALL
修改后的样子如下:
- 还修改了
~/.bashrc文件
操作命令:vim ~/.bashrc
在整份文件内容的最底下新增两行:export LANG="en_US.UTF-8"export LC_ALL="en_US.UTF-8"
修改后的样子如下:
修改完这份~/.bashrc文件后, 重新加载一下,执行命令:source ~/.bashrc
解决后的情况:
输入:locale
打印内容如下截图:
到此,问题就解决了。
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)