2017-06-16 47 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