将Django网站部署到Apache后,上传中文名字的文件或者图片时,会报错。报错信息如下:
'ascii' codec can't encode characters in position 35-36: ordinal not in range(128)
之前一直以为是Ubuntu系统或者是Apache的默认编码问题,研究一天将编码都改成UTF-8后还是会报错,后来查了一下Django的开发文档,发现只需要在Apache的配置文件添加两句话就行
配置文件的路径是:/etc/apache2/envvars
添加的代码如下:
export LANG='zh_CN.UTF-8'
export LC_ALL='zh_CN.UTF-8'