玩蛇网提供最新Python编程技术信息以及Python资源下载!

请教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 "上传成功!"

如果你是通过网页上传的,要保证 <meta charset="UTF-8" /> 也是 utf-8 编码的,py 文件也用相同的编码保存。
我运行了你的代码,没有发现乱码。不知道你指的乱码是哪一种:

  • 如果是方块的话就需要给服务器安装中文支持
  • 如果是杂乱的乱码,可能需要设置服务器的 locale

中文文件上传后会出现乱码情况,是因为中文编码默认为GBK,而Python中默认字符编码为unicode,需要把文件名的字符转一下, filename = filename.encode("gb2312"),加上这一句,就OK了

玩蛇网文章,转载请注明出处和文章网址:https://www.iplaypy.com/wenda/wd20515.html

相关文章 Recommend

玩蛇网Python互助QQ群,欢迎加入-->: 106381465 玩蛇网Python新手群
修订日期:2017年05月22日 - 08时43分12秒 发布自玩蛇网

您现在的位置: 玩蛇网首页 > Python问题解答 > 正文内容
我要分享到:

必知PYTHON教程 Must Know PYTHON Tutorials

必知PYTHON模块 Must Know PYTHON Modules