欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

UnicodeEncodeError:‘ascii‘codeccan‘tencodecharactersinposition1101-1121:ordinalnotinrang

时间:2023-05-30
1、问题出处

ubuntu 18.04
ros melodic
默认python版本:python2.7
在启动rviz仿真中报错

标志特征:UnicodeEncodeError: 'ascii' codec can't encode characters in position 1101-1121: ordinal not in rang
通过检索发现这个问题是因为python编码问题,解决方案是将python编码格式改为全局UTF-8

2、解决方案(设置python全局编码格式) 2.1 首先查看python版本

命令行中输入:python

这里我的默认python版本是2.7

2.2 进入python包位置

cd /usr/lib/python2.7

注意我的默认是python2.7所以我进入python2.7,假设你的默认版本是python3.8你需要执行

cd /usr/lib/python3.8

2.3 激活权限

我们需要更改sitecustomize.py文件,但是他的权限设置一般那为只读。
终端执行

sudo chmod 777 sitecustomize.py

输入密码后可以从右键属性/权限看到已经是读写了

2.4 全局更改编码格式

使用文本编辑器打开/usr/lib下的sitecustomize.py文件
并加入如下代码:

#coding=utf-8import sysreload(sys)sys.setdefaultencoding('utf8')

如图:

保存退出

3 重新执行,报错解除

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。