如何在Python中正确格式化错误UTF16字符串

2024-09-28 12:14:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经为此奋斗了一天:我有一个程序,基本上可以连接到两个数据源(一个是带有pyodbc的ODBC,另一个是带有mysqlclient的MariaDB),并将数据从一个传输到另一个

当pyodbc连接失败时,会出现一条错误消息,例如:

pyodbc.InterfaceError: ('28000', '[28000] [FileMaker][FileMaker]  (212): Invalid account/password\x00\u75c0*\u75c0*\u33e4*\x1f\x00\u6029\u4ed6\uf278\u011e\u65aa\u669b\u4ae0+\u75c0*\u6029\u4ed6\uf270\u011e\x00\x00\x00\x00\u36a8\x1b\x00\x00\x01\x00\x1f\x00\x01\x00\uf28c\u011e\uf290\u011e\u351a\u669e\x06\x00\ub0201\uf2b8\u011e\ua975\u66a0\x00\x00\x1f\x00 (212) (SQLDriverConnect); [28000] [FileMaker][FileMaker]  (212): Invalid account/password\x00\u75c0*\u75c0*\u33e4*\x1f\x00\u6029\u4ed6\uf278\u011e\u65aa\u669b\u4ae0+\u75c0*\u6029\u4ed6\uf270\u011e\x00\x00\x00\x00\u36a8\x1b\x00\x00\x01\x00\x1f\x00\x01\x00\uf28c\u011e\uf290\u011e\u351a\u669e\x06\x00\ub0201\uf2b8\u011e\ua975\u66a0\x00\x00\x1f\x00 (212)')

如您所见,它包含许多似乎是UTF16(LE??)字符。我尝试了很多方法使这个字符串可读,即使只是在第一次剪切它\x00,它们都不能正常工作。有人知道如何让它可读吗

另外:这个问题只发生在windows上。同样的脚本在mac上运行得非常好


Tags: accountpasswordx00pyodbcx01invalidfilemakerx1f

热门问题