从网上搜了下这个问题,由于python3里所有的字符串先均为unicode,而从网页获取的字符串原本是走HTTP协议,是字节流。为了保证接受数据的正确性,需要对从网页拿回来的数据进行解码:
form = request.GET.decode('utf-8')
if form.get('save', '').strip():
new =form.get('task', '').strip()
conn = sqlite3.connect(database)
c = conn.cursor()
c.execute("INSERT INTO todo(task, status) VALUES(?,?)", (new, 1))
环境:WinXP,python3.3.2,bottle v0.12-dev