解决dotproject中文名文件下载乱码问题的解决方法
在 dotproject 中出现中文名文件下载乱码问题的原因是因为浏览器默认使用 ASCII 编码,而中文名文件使用 UTF-8 编码。下面给出两种解决方法。
方法一:修改源代码
修改 /dotproject/classes/ui.class.php
文件,将该文件中的所有 filename=
换成 filename*=UTF-8''
,即可解决中文名下载乱码问题。
示例:
将代码
header('Pragma: public');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename=$filename");
header("Content-Transfer-Encoding: binary");
修改成
header('Pragma: public');
header("Content-Type: application/octet-stream");
header("Content-Disposition: attachment; filename*=UTF-8''".rawurlencode($filename));
header("Content-Transfer-Encoding: binary");
方法二:使用插件
可以安装并启用使用插件 Download File with Cookie,该插件主要功能是支持带 Cookie 的文件下载,而 Cookie 中会包含文件名信息,这样下载中文名文件就不会出现乱码问题了。
示例:
安装并启用该插件,即可解决中文名下载乱码问题。
以上为解决 dotproject 中文名文件下载乱码问题的两种方法,根据实际情况选择即可。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:解决dotproject中文名文件下载乱码问题的解决方法 - Python技术站