<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <?php if($_FILES["file"]["error"]){ echo "<script>alert('沒(méi)有選擇文件!');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')) { //防止文件名重復(fù) $filename="./upfile/".date('YmdHis',time()+8*60*60).'-'.$_FILES["file"]["name"]; //轉(zhuǎn)碼 $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.
Cuba gunakan pengekodan gbk semasa menyimpan nama fail, kemudian baca nama fail dan tukarkannya kepada utf8
如果我把$filename=iconv("UTF-8","gb2312",$filename);換成了$filename=iconv("gb2312","UTF-8",$filename); 發(fā)現(xiàn)上傳成功后可以正常打開(kāi)文件了,但是又出現(xiàn)了在瀏覽器上顯示的文件名是亂碼的。 請(qǐng)問(wèn)結(jié)合我上面發(fā)的,這個(gè)問(wèn)題該怎么解決呢?有好解決方法的請(qǐng)賜教。