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