我有一個非文字字符串,它以在線方式從打印文檔的標題以編程方式獲得。Win32print結果的字符串編碼
當我試圖把它提交到MongoDB中,我得到:
bson.errors.InvalidStringData: strings in documents must be valid UTF-8: 'wxPython: Windows Styles and Events Hunter \xab The Mouse Vs. The Python'
字符串檢索代碼:
for printStats in printers:
handle = win32print.OpenPrinter(printStats[2])
queued = win32print.EnumJobs(handle, 0, -1, 1)
for printJob in queued:
username = printJob['pUserName']
computer = printJob['pMachineName']
document = printJob['pDocument']
identity = printJob['JobId']
jobstate = printJob['Status']
print document
> "wxPython: Windows Styles and Events Hunter « The Mouse Vs. The Python"
什麼類型的數據庫和拋出的異常是什麼? –
如何以base64編碼形式存儲/恢復此字符串? – nsilent22
MongoDB將字符串存儲爲UTF-8。 Python驅動程序允許您傳遞UTF-8編碼的字符串或Unicodes。這聽起來像你的字符串既不是。你必須先理解編碼,然後才能拋出'encode'和'decode'。例外是希望從表中排除非ASCII。 –