---
title: "解决上传图片文件名为中文错误的问题"
url: "https://lerry.me/post/2011/05/fix_the_bug_of_chinese_image_name"
date: 2011-05-22T07:35:00.000Z
updated: 2026-08-23T13:18:29.607Z
tags:
language: zh-CN
---

# 解决上传图片文件名为中文错误的问题

今天写日志，上传图片时提示500错误，于是查看服务器日志，发现了这两行

```
[Sun May 22 15:10:28 2011] [error] [client 202.xxx.xxx.xxx]     imgfile = open(dirday+filename,'wb'), referer: https://lerry.me/admin/post

[Sun May 22 15:10:28 2011] [error] [client 202.xxx.xxx.xxx] IOError: [Errno 22] invalid mode ('wb') or filename: 'D:\\\\wwwroot\\\\myblog\\\\static/upload/201105/22/\\xe5\\xb9\\xbb\\xe7\\x81\\xaf\\xe7\\x89\\x871.png', referer: http://lerry.org/admin/post
```

看完后第一感觉是中文文件名的原因，找到存储图片的[相关代码](https://lerry.me/post/2011/04/image-upload-func)，发现确实没有对中文文件名进行处理，于是对filename这一形参传入前进行处理，imgname = filepath.split('/')\[-1\].decode('UTF-8')，加上了.decode('UTF-8')，这样修改之后，在此上传就成功了。
