한자 파일 이름은 사용하지 않는 것이 좋습니다!
중국어는 URL 인코딩으로 전송되기 때문에 서버로 전송 시 디코딩이 되긴 하지만, 인코딩이 일치하지 않으면 디코딩할 수 없습니다.
간단히 말하면 일반 브라우저에서 URL의 중국어는 기본적으로 UTF-8 인코딩으로 인코딩되어 서버로 전송됩니다! 중국어 Windows 환경 서버에서는 URL 디코딩 시 gb2312 인코딩을 사용하여 디코딩하는데, 이로 인해 주소 표시줄에 입력한 중국어 원본 텍스트를 가져올 수 없게 됩니다!
그러면 파일 이름을 찾을 수 없다는 메시지가 표시됩니다.
중국어를 사용해야 하는 경우 솔루션은 로컬 검색 솔루션으로 제한됩니다.
브라우저에서 "인터넷 옵션" 메뉴를 열고 "고급"을 선택한 다음 "UTF-8 URL 보내기"를 찾아 제거 프론트 후크. 그런 다음 확인하십시오.
브라우저를 다시 시작하세요. 이런 식으로 주소 표시줄의 중국어는 기본적으로 gb2312 인코딩으로 전송되므로 서버는 중국어 파일 이름의 파일을 올바르게 찾을 수 있습니다
이전 웹 페이지의 차트 세트는 utf-8을 사용했으며, 파일도 utf-8을 사용했습니다. 그러면 fopen()을 사용하여 중국어 파일 이름으로 파일을 만들 때 문제가 발생합니다!
많은 문서를 확인하고 많은 방법을 시도했지만 해결되지 않았습니다. 이 문제를 우회하기 위해 다른 방법을 사용하려고 생각했지만 갑자기 Windows의 기본 텍스트 인코딩이 ansi라는 것이 생각났습니다. Baidu에서 이를 확인했습니다. 따라서 생성된 파일 이름이 왜곡되지 않도록 내 웹 페이지도 ansi 인코딩되어야 합니다.
그런 다음 확인을 시작하고 웹페이지를 ansi에 저장하고 차트 세트 문을 제거했습니다. 괜찮았지만 나중에 이 웹페이지에 다른 웹페이지도 포함되어 있다는 것이 기억나서 포함된 웹페이지를 변경했습니다. ansi로 저장하려면 ㅎㅎ 다 괜찮아요
프로그래밍은 사실 축적에 의존하는 직업이에요. 이전에 Windows의 기본 인코딩이 ansi라는 걸 보지 못했다면 언제까지 그럴지 모르겠습니다. 이 문제를 해결하려면
ps: < 메타 콘텐츠 = "text/html; charset=utf-8" http -equiv ="Content-type" > 이 메타 태그는
나중에 업데이트를 생각했습니다. 좋은 해결책은 웹 페이지를 여전히 UTF-8로 인코딩하고 저장해야 하지만 fopen()의 파일 이름 매개변수는 별도로 인코딩할 수 있다는 것입니다. ()는 인코딩을 UTF-8을 gb2312로 변환하는 프로그램입니다. 이렇게 하면 중국어 파일 이름이 왜곡되는 것을 피할 수 있습니다
위 내용은 php 파일명에 한자를 추가할 수 없나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!