2016-04-15 36 views
0

我想從字符「é」字符串從我的數據庫保存到csv。Unicode字符保存爲?在MySQL SQLAlchemy(警告:錯誤的字符串值)

這是錯誤

lib/python2.7/site-packages/sqlalchemy/engine/default.py:425: Warning: Incorrect string value: '\x8Ert' for column 'last_name' at row 1 

這是我正在讀的CSV:

response = requests.get(fileurl) 
    order_data = csv.DictReader(response.iter_lines()) 

然後我保存每一行到數據庫中。

last_name的原始字符串是'Rob \ x8ert'(Robért)。

是的,表格是utf8mb4_general_ci,列也是如此。

在我的模型列:

last_name = db.Column(db.String(80, convert_unicode=True)) 

我試着刪除convert_unicode =真,但並不做任何事情。

+0

檢查頁面編碼。 關於數據庫連接將其設置爲UTF-8 – MadeInDreams

+0

什麼生成了CSV文件?這是一種不尋常的編碼方式。 –

+0

它實際上有4個字符'\ x8E'嗎?或者是逃避一個8位字符的東西?如果你能得到字符串的長度,你可以回答這個問題。 –

回答

0

「é」是U + 00E9,而不是U + 008E。在嘗試存儲它之前,將字符串從其實際使用的編碼中解碼出來。

+0

我怎麼弄出來的?這只是一個常規的CSV文件。 –

+0

詢問生成文件的人。 –

相關問題