recherche

Maison  >  Questions et réponses  >  le corps du texte

Après avoir téléchargé avec succès un fichier avec un nom chinois, le fichier ne peut pas être ouvert car le nom du fichier est tronqué lors de l'ouverture du fichier. Comment résoudre le problème ?

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<?php    
    if($_FILES["file"]["error"]){
        echo "<script>alert('没有选择文件!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
    }else{
        if(($_FILES["file"]["size"]<10240000)and($_FILES['file']['type']=='application/pdf'))
        {
            //防止文件名重复
            $filename="./upfile/".date('YmdHis',time()+8*60*60).'-'.$_FILES["file"]["name"];
            //转码
            $filename=iconv("UTF-8","gb2312",$filename);   
            if(file_exists($filename)){           
                echo "该文件已存在";
            }else{                        
                //保存文件
                move_uploaded_file($_FILES["file"]["tmp_name"],$filename);
                echo "<script>alert('上传成功!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
            }
        }else{    
            echo "<script>alert('只能上传PDF文件!');location.href='http://127.0.0.1:88/seek_system/admin/help/wenjianceshi.php'</script>";
        }
    }

Le code pour télécharger des fichiers est comme ci-dessus. Lorsque j'ai téléchargé un fichier contenant un nom chinois, j'ai réussi à télécharger le fichier après le transcodage et j'ai constaté que le nom du fichier téléchargé pouvait également s'afficher correctement en chinois. Cependant, le problème était que je ne pouvais pas ouvrir le fichier en cliquant. sur le nom du fichier et j'ai trouvé le nom du fichier dans la barre d'adresse. La partie chinoise est tronquée. Comment puis-je résoudre le problème qu'après le transcodage, le fichier aura un nom chinois et pourra être ouvert normalement ?

生如夏花生如夏花2028 Il y a quelques jours1371

répondre à tous(3)je répondrai

  • Alone88

    Alone882019-04-26 14:25:15

    Essayez d'utiliser l'encodage gbk lors de l'enregistrement du nom du fichier, puis lisez le nom du fichier et convertissez-le en utf8

    répondre
    0
  • 生如夏花

    Pas possible

    生如夏花 · 2019-04-26 14:33:49
  • 生如夏花

    生如夏花2019-04-26 09:46:20

    如果我把$filename=iconv("UTF-8","gb2312",$filename);换成了$filename=iconv("gb2312","UTF-8",$filename);
    发现上传成功后可以正常打开文件了,但是又出现了在浏览器上显示的文件名是乱码的。
    请问结合我上面发的,这个问题该怎么解决呢?有好解决方法的请赐教。


    répondre
    0
  • Annulerrépondre