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