在文件中有这样的文本。我想将该文本插入到我的数据库中(顺便说一句,是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该表有一个类型为"TEXT“的字段"results”。但是,当找到"^@“字符时,文件会被切断。之后的所有内容都不会保存在我的数据库中。
我尝试过很多方法,比如:
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))但它不起作用。有人告诉我要将该字段转换为二进制字段,但如果有办法将其保存到文本字段中。我不关心奇怪的字符"^@“,所以它们可以被删除。
发布于 2016-08-29 23:35:49
0x00 (^@)是一个字符串终止符。它是唯一不能保存在以0x00结尾的字段(文本是)中的字符。
换掉这些字符,你就会好起来。
https://stackoverflow.com/questions/39209898
复制相似问题