我知道這個問題之前已經被問過了,但所提出的解決方案似乎並不奏效。 我想插入文本到一個表,但我不斷收到這樣的:Python和MySQL錯誤的字符串值
Warning: Incorrect string value: '\xEBrt of...' for column 'title' at row 1
有問題的字符爲:E
這是表的外觀:
CREATE TABLE `rstest_article` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`source_id` int(11) NOT NULL,
`title` varchar(200) NOT NULL DEFAULT '',
`link` varchar(200) NOT NULL DEFAULT '',
`content` longtext NOT NULL,
`description` longtext NOT NULL,
PRIMARY KEY (`id`),
KEY `rstest_article_89f89e85` (`source_id`),
CONSTRAINT `source_id_refs_id_c47b907b` FOREIGN KEY (`source_id`) REFERENCES `rstest_source` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=606 DEFAULT CHARSET=utf8;
我從相同字符集的另一個數據庫抓取文本,如下所示:
_cursor.execute('SELECT title,link,content,descr,channel FROM articles')
rows = _cursor.fetchall()
for row in rows:
article = Article(source=src,title=row[0],link=row[1],content=row[2],description=row[3])
article.save()
任何幫助將不勝感激。
是'\\'逃避些什麼呢?試着增加反引號。 – SomeKittens
你將有讓我們知道什麼該字符串應該是,並顯示您正在使用的代碼。 –
文字從哪裏來?你如何試圖將其插入到數據庫中?以前有人問過這個問題嗎? (我的猜測是你試圖將iso8859-1文本插入到utf-8數據庫列中) – geoffspear