【发布时间】:2013-06-04 07:45:57
【问题描述】:
这个问题与this one有关。
请阅读克里斯在那里描述的问题。我会缩小范围:如果文件名是 utf-8 编码并且包含不在非 unicode 程序支持的范围内的字符,则会出现 CURL 错误 26。
让我解释一下自己:
local_filename = filename.encode("utf-8")
self.curl.setopt(self.curl.HTTPPOST, [(field, (self.curl.FORM_FILE, local_filename, self.curl.FORM_FILENAME, local_filename))])
我的 Windows 7 将俄语设置为非 unicode 程序的语言。如果我不将文件名编码为 utf-8(并且将 filename 而不是 local_filename 传递给 pycurl(,那么如果文件名包含英文或俄文字符,那么一切都会完美无缺。但如果有一个 à,-它会引发错误 26。如果我通过 local_filename(如此编码为 UTF-8),即使是俄语字符也是不允许的。
你能帮忙吗?谢谢!
【问题讨论】:
-
请将您的代码 sn-p 扩展为独立测试。不清楚
filename是什么,我想一定是unicode;field是什么,设置了哪些其他选项...
标签: python curl unicode utf-8 pycurl