您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

php文件下载乱码有关问题

2024/8/13 3:49:53发布25次查看
php文件下载乱码问题
我想添加一个文件上传下载功能,由于文件可能较大,所以思路是在数据库中存储文件在服务器上的路径,下载时根据路径读取文件。最开始在上传时页面文件列表显示的中文文件名为乱码,添加了mysql_query(set names 'utf8');
之后解决。后来在下载时存储的文件名为乱码,同样添加这个code解决。但是下载的文件里面的中文就成乱码了。我用txt文本测试,英文没问题,utf-8格式的文本也没问题,默认的ansi就成乱码,当然上传word文件也是乱码。大家帮忙看看应该怎么改,不知道是传到服务器就是乱码,还是下载下来格式没转换,我的数据库是utf-8编码的,母版页也是utf-8编码。
curuser;
$logger = new categorylogger('log_definition');
if($notice!=auto)notice($notice);
$id=$mineid;//要下载文件的id
if(!isset($id) or $id==) die(error:id none); //定位记录,读出
$conn=mysql_connect('10.4.16.102','root','abc') or die('unable to connect .');
mysql_select_db('greenmine',$conn) or die(mysql_error($conn));
mysql_query(set names 'utf8');
$sql= select * from file where id=$id;
$result= mysql_query($sql);
if(!$result) die(error:mysql query);
$num=mysql_num_rows($result);
if($num
------解决方案--------------------
是文件名乱码,还是文件内容乱码?
你的库中只保存文件名,而文件是独立保存的。不是这样吗
打开文件要 $file = fopen($filepath, rb);
供下载的文件名
header(content-disposition:   attachment;   filename=  . $filename);
要与用户所用操作系统配套
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product