Rumah > Soal Jawab > teks badan
<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>"; } }
Kod untuk memuat naik fail adalah seperti di atas. Apabila saya memuat naik fail yang mengandungi nama Cina, saya berjaya memuat naik fail selepas transcoding, dan mendapati bahawa nama fail yang dimuat naik juga boleh dipaparkan dengan betul dalam bahasa Cina Walau bagaimanapun, masalahnya ialah saya tidak dapat membuka fail dengan mengklik pada nama fail, dan menemui nama fail dalam bar alamat Bahagian Cina bercelaru Bagaimana saya boleh menyelesaikan masalah yang selepas transcoding, fail akan mempunyai nama Cina dan fail boleh dibuka seperti biasa.
Alone882019-04-26 14:25:15
Cuba gunakan pengekodan gbk semasa menyimpan nama fail, kemudian baca nama fail dan tukarkannya kepada utf8
生如夏花2019-04-26 09:46:20
如果我把$filename=iconv("UTF-8","gb2312",$filename);换成了$filename=iconv("gb2312","UTF-8",$filename); 发现上传成功后可以正常打开文件了,但是又出现了在浏览器上显示的文件名是乱码的。 请问结合我上面发的,这个问题该怎么解决呢?有好解决方法的请赐教。