牛骨文教育服务平台(让学习变的简单)
博文笔记

move_uploaded_file上传 中文文件;下载文件,失败的解决方法

创建时间:2017-07-15 投稿人: 浏览次数:788

      //解决中文编码问题,将utf8 编码转换成gb2321编码

     //红色字体为文件名

      $file_name=iconv("UTF-8", "gb2312", $_FILES["file"]["name"]);


 函数解释:

 (

    string iconv ( string $in_charset , string $out_charset , string $str )

       将字符串 str 从 in_charset 转换编码到 out_charset



      $file_path="video/solidworks/" .$file_name;//存储路径,我使用的是相对路径


      move_uploaded_file($_FILES["file"]["tmp_name"],$file_path );


在下载中文文件名的时候也出现了同样的问题,但我发现 上述方案有点解决不了

我的源码是这样的:


$file_name=$_POST["file_name"];
//$file_name=iconv("UTF-8", "gb2312",$file_name);
$con=mysql_connect("localhost","root","123456");
if(!$con){
  echo "链接失败";
}  
//echo $file_name;//显示乱码
mysql_select_db("table2",$con);
mysql_query("set names utf8");
$result1=mysql_query("SELECT * FROM video where name="".$file_name.""");
while($row = mysql_fetch_array($result1)){
$file_path=$row["video_path"];

//解决中文编码问题
$file_path=iconv("UTF-8", "gb2312",$file_path);
}

后来我将红色部分的代码注释掉,拷贝到蓝色部分,,结果成功了,虽然解决了,但感觉还是有点问题,数据库中存的路径是中文,把从数据库中取出来的数据进行了编码转换;

  

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。