在文件中有这样的文字。我想在我的数据库中插入该文本(顺便说一下UTF8编码)。
OK: "Spanning op P4V2 (TP2)" : 4.00 V DC <= 4.20 V DC
OK: "Spanning op P1V8_EHSX_BGS2 (TP1030)" : 1.81 V DC >= 1.71 V DC
OK: "Spanning op P1V8_EHSX_BGS2 (TP1030)" : 1.81 V DC <= 1.89 V DC
LOG: Waiting for barebox command prompt
LOG: ^@^@Starting Bootlets...
LOG:
LOG: Configured for DCDC_BATT only power source.
LOG: Initialized 1 ram bank(s)
LOG: Starting secondary bootloader
该表有一个字段&#34;结果&#34;类型&#34; TEXT&#34;。但是当找到&#34; ^ @&#34;时,文件会被切断。字符。之后的所有内容都没有保存在我的数据库中。
我尝试过很多东西:
results = results.encode('utf-8')
self.db.set_client_encoding('UTF8')
c.execute("INSERT INTO ats2_testrun (serial_number_id, test_system_id, date, status_ok, results, author, svn_url, svn_revision_number, service_report_id) +
"VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s);",(sid, tsid, tstamp, ok, results, author, svn_url, svn_revision_number, service_report_id))
但它不起作用。有人告诉我将该字段转换为二进制字段,但是如果有办法将其保存到TEXT字段中。我不在乎那些奇怪的字符&#34; ^ @&#34;所以他们可以被删除。
答案 0 :(得分:1)
0x00
(^@
)是一个字符串终止符。它是唯一一个无法保存在0x00终止字段中的字符(TEXT是)。
更换字符,你就可以了。