这个问题与这个有关。
请阅读克里斯在那里描述的问题。我会缩小范围:如果文件名是 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))])
我有将俄语设置为非 unicode 程序语言的 Windows 7。如果我不将文件名编码为 utf-8(并且传递filename
,而不是local_filename
pycurl(,那么如果文件名包含英文或俄文字符,那么一切都会完美无缺。但如果有,比如说,一个 à,它会引发错误 26。如果我通过local_filename
(如此编码为 UTF-8),即使是俄语字符也是不允许的。
你能帮忙吗?谢谢!