<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 ?
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