web.py 上传中文文件名乱码
代码如下,结果在服务器端的文件夹下所上传的中文文件名出现乱码。请教~
file_in = web.input(fh={}) filedir = 'upload' if 'fh' in file_in: filename = file_in.fh.filename.decode('utf-8') fout = open(filedir +'/'+ filename,'wb') fout.write(file_in.fh.file.read()) fout.close() return "上传成功!"
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果你是通过网页上传的,要保证 <meta charset="UTF-8" /> 也是 utf-8 编码的,py 文件也用相同的编码保存。
我运行了你的代码,没有发现乱码。不知道你指的乱码是哪一种:
中文文件上传后会出现乱码情况,是因为中文编码默认为GBK,而Python中默认字符编码为unicode,需要把文件名的字符转一下,
filename = filename.encode("gb2312"),加上这一句,就OK了