<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>"; } }
Der Code zum Hochladen von Dateien ist wie oben. Als ich eine Datei mit einem chinesischen Namen hochgeladen habe, konnte ich die Datei nach der Transkodierung erfolgreich hochladen und stellte fest, dass der hochgeladene Dateiname auch auf Chinesisch korrekt angezeigt werden konnte. Das Problem bestand jedoch darin, dass ich die Datei nicht durch Klicken öffnen konnte auf den Dateinamen und habe den Dateinamen in der Adressleiste gefunden. Wie kann ich das Problem lösen, dass die Datei nach der Transkodierung einen chinesischen Namen hat und normal geöffnet werden kann?
试一下你保存文件名的时候使用gbk编码,然后读取文件名再转成utf8