Python3上传中文文件名的问题

Python3上传中文文件名的问题,第1张

我们之前在Python2.x的时候,用requests上传文件是正常存储中文名字,但是使用Python3之后,文件名就变得不正常了。因为Java服务端接口不支持这种方式,于是只能修改Python脚本。

因为Python3使用requests的时候,会调用urllib3库—>fields.py的新处理逻辑

当文件名是中文的时候, value = email.utils.encode_rfc2231(value, 'utf-8') 就会转换格式为:

filename* 这种格式的键值对。

当然改源码文件是最快的,但是这样不利于移植。

还是修改下requests请求吧。

ftp上传文件时,必须使用英文字符或数据的文件名才能上传,或者是两个字的汉字才能上传到服务器的话:

1、进入ServerU管理端界面,点击“服务器限制和设置”分类功能按钮,

2、在ServerU服务器限制和设置界面,选择“FTP设置”页签,点击窗口下面的“全局设置”按钮。

3、在打开的“FTP命令属性”界面,去掉最后一行的勾选,即不要勾选”对所有已收发的路径和文件名使用UTF-8编码“。

4、选择“FTP设置”页签,禁用”OPTS UTF8 “,

完成上面的两处改变后,无法上传中文名称的文件的问题应该已经解决了。

表示只能有英文字母、数字等。在上传文件时,文件的名称不能包含中文字符,只能使用英文字母、数字或下划线等符号。这是因其不同的 *** 作系统对中文字符的识别方式不一样,可能会导致出错,因此建议文件名中避免使用中文字符。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11425000.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存