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 ?
生如夏花
生如夏花 2019-04-26 09:37:08
0
3
1383
<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 ?

生如夏花
生如夏花

répondre à tous(2)
Alone88

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 Pas possible
    生如夏花 auteur 2019-04-26 14:33:49
生如夏花
如果我把$filename=iconv("UTF-8","gb2312",$filename);换成了$filename=iconv("gb2312","UTF-8",$filename);
发现上传成功后可以正常打开文件了,但是又出现了在浏览器上显示的文件名是乱码的。
请问结合我上面发的,这个问题该怎么解决呢?有好解决方法的请赐教。


Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal