【发布时间】:2012-01-07 23:33:49
【问题描述】:
我正在尝试向网络应用发送 POST 请求。我正在使用 mechanize 模块(本身是 urllib2 的包装器)。无论如何,当我尝试发送 POST 请求时,我得到UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 0: ordinal not in range(128)。我尝试放置unicode(string)、unicode(string, encoding="utf-8")、unicode(string).encode() 等,但没有任何效果 - 要么返回上述错误,要么返回 TypeError: decoding Unicode is not supported
我查看了类似问题的其他 SO 答案,但没有任何帮助。
提前致谢!
EDIT:产生错误的示例:
prda = "šđćč" #valid UTF-8 characters
prda # typing in python shell
'\xc5\xa1\xc4\x91\xc4\x87\xc4\x8d'
print prda # in shell
šđćč
prda.encode("utf-8") #in shell
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 0: ordinal not in range(128)
unicode(prda)
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc5 in position 0: ordinal not in range(128)
【问题讨论】:
-
如果您展示一个产生错误的小型、独立的示例,我会提供帮助。
-
@ekhumoro 添加了示例,希望它能清除它
标签: python html http post unicode