<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>"; } }
파일 업로드 코드는 위와 같습니다. 중국어 이름이 포함된 파일을 업로드할 때 트랜스코딩 후 파일을 성공적으로 업로드할 수 있었고, 업로드한 파일 이름도 중국어로 제대로 표시되는 것을 발견했습니다. 그런데 문제는 클릭 시 파일이 열리지 않는다는 점이었습니다. 파일 이름을 검색했는데 주소 표시줄에서 파일 이름이 발견되었습니다. 중국어 부분이 깨져 있습니다. 트랜스코딩 후 파일 이름이 중국어로 표시되고 파일이 정상적으로 열리는 문제를 해결하려면 어떻게 해야 합니까?
파일명 저장시 gbk 인코딩을 사용하신 후 파일명을 읽어서 utf8로 변환해 보세요
으르르르르