if(is_uploaded_file($_FILES['file']['tmp_name']))
{
$files=$_FILES['file'];
$tmp_name = $files['tmp_name']; 
$mimeType = $files['type'];  
$fileName = $files['name'];
move_uploaded_file($tmp_name,'up/'.$fileName);
}
上传成功后,up文件夹里的文件名称只要是中文的就是乱码的,这个是什么原因,这段代码前面我也加了header("Content-Type:text/html;charset=utf-8");但不起作用

解决方案 »

  1.   

    你在 window 操作系统中,使用 utf-8 编码的中文文件名,能不乱码吗?
      

  2.   

    我是在window系统下的,那怎样解决这个问题,上面那段代码文件我保存的是utf8格式的
      

  3.   

    不使用中文文件名是明智的选择!简体中文window系统的字符集是 GBK
    如果你一定要在 utf-8 程序中使用 gbk 的中文文件名,那么就需要转码:写入时 utf-8转成gbk,读取时 gbk转成utf-8
      

  4.   

    $f_name =urlencode(iconv('UTF-8','GB2312',$fileName));
    move_uploaded_file($tmp_name,'up/'.$f_name);
    这样后得到的文件名是%B1%A8%C3%FB%C9%EA%C7%EB%C7%A9%C3%FB%B1%ED.jp还是乱码的,还有之前的代码我再次执行竟然上传不成功了