Klipper如果选择打印中文的gcode,会提示错误:
'ascii' codec can't decode byte 0xe6 in position 3: ordinal not in range(128)", 'error': 'WebRequestError'
这个错误的根本原因是字符编码的问题,有如下解决方法:
1.使用Python3版本的Klipper,请自行百度方法
2.使用老版本的Klipper,
cd ~/klipper
# 选择0.10.0版本,注意,以后不会自动更新
git checkout v0.10.0
# 如果想恢复使用最新版本
git checkout master
3.修改 /home/pi/klipper/klippy/extras/virtual_sdcard.py 文件,有2种方法
第一种:注释大概181行的代码(注释方式为最前方加#即可)
gcmd.respond_raw("File opened:%s Size:%d" % (filename, fsize))
第二种:在文件的最前面增加代码,第一种会在控制台中少输出一行提示”File opened:测试.gcode Size:2093879“,不过这个提示无所谓,没啥实际用途。:
#-*- encoding:utf-8 -*-
import sys #reload()之前必须要引入模块
reload(sys)
sys.setdefaultencoding('utf-8')