我正在处理一些字符串操作,并尝试将它们放入数据库中。然后我遇到了这个(我相信是德国人):
Sichere Administration von VoIP-Endgeräten
当我把它放入数据库后,我发现非英语字符变成了:
^{pr2}$
当我从数据库中获取它并将这个字符串传递给子流程.Popen(),显示错误:
TypeError: execv() arg 2 must contain only strings
我的问题是:这是怎么发生的?还有谁有什么有用的参考资料,关于如何学习编码/解码的东西?谢谢。在
Tags:
{是的,你正在处理^的unicode文本。在
第一个字符串是被解释为拉丁语-1的UTF-8数据,第二个字符串是unicode字符串,如果不先编码,就不能传递给
Popen()
:在将数据传递给
.Popen()
之前,您需要弄清楚外部进程可以处理什么编码,并对数据调用.encode()
。在相关问题 更多 >
编程相关推荐