2017-06-16 74 views
0

在Python软件语言中,str变体在添加到MySQL数据库时会出错。对我来说,这是这个角色的问题。你能帮忙吗?Python MySQL数据库,数据更新错误?

我写的代码行在底部。

rezerve='Aşkım Nasılsın?' 
new_status = telStatus + 1 
try: 
    tablo_birak = "UPDATE denemetablodd SET status='%s', rezerve='%s' WHERE ıd=1" % (str(new_status), str(rezerve)) 
    imlec.execute(tablo_birak) 
    mysqlBaglanti.commit() 
except: 
    mysqlBaglanti.rollback() 
+0

你能在你的问题上发布python输出的确切错误吗? – JoshKopen

+0

您应该使用准备好的语句,而不是替换为字符串。 – Barmar

+0

@JoshKopen, 这是我得到的错误。 UnicodeDecodeError:'ascii'编解码器无法解码位置0中的字节0xc3:序号不在范围内(128) –

回答

0

你的问题是你没有使用ascii图表上的值。许多程序只使用前128个ASCII值的符号(http://www.asciitable.com/index/asciifull.gif)。这些程序不接受字符,例如S下面的行。虽然我理解这些可能是这种语言的一部分,但我最好的建议是将它们改为最接近英文字母的近似值,否则您将无法使用此版本的mySQL。也许可以将$ rezerve的价值变成“Askim Nasilsin?”如果你想能够使用mySQL。

+0

我必须以其原始形式使用此文本。我有机会与Ascii兼容吗?例如; rezerve.encode('utf-8') –

+0

这将工作。你只需要确保所有的答案都是ASCII。不要忘记,当你读回来解码它们。 – JoshKopen