做了个php的下载的功能,有list.php页面和download.php页面,数据库的表用的是utf8,连接数据库也用了set names 'utf8',两个php页面也加入了声明utf-8的header,保存的时候也选择了utf8,为什么页面一切都正常,就是点击下载中文名字的文件时候会找不到文件,点击英文的能正常下载
链接数据库的时候用set names gb2312就可以找到要文件

解决方案 »

  1.   

    虽然数据库表用了utf8的编码但是把其他的都改成gb2312反而都正常了,又是什么原因?@_@
      

  2.   

    对!是这样的
    你是在 window 操作系统下工作,你的硬盘中都是简体中文(gbk)的文件名
    如果你用 utf-8 编码的文件名,计算机就不认得了
      

  3.   

    那就是必须要用gbk的编码吗?不能用utf8?
      

  4.   

    编码分为
    1.文件保存的编码(PHP文件保存的编码)
    2.数据库的编码(存储数据用的编码)
    3.文件显示的编码(首先是PHP网页的编码)
    这三个都统一了才行的!!
    可以看一看这个网址介绍的较全http://www.onbno.com/web/2631.html
      

  5.   

    改变本地编码!~~简单的说你直接写个TXT另存为然后看到编码!~~改成UTF-8