우리 모두 알고 있듯이 PHP의 fopen 함수는 새 문서를 생성할 수 있지만 생성한 문서의 이름이 중국어이고 Windows 시스템을 사용하는 경우 문서 이름의 중국어 부분이 왜곡되다. 실험해 봅시다:
<code><span><?php </span><span>$fileName</span> = <span>__DIR__</span> . <span>'/中文文档.txt'</span>; <span>//$fileName = iconv('UTF-8', 'GBK', $fileName);</span><span>$fp</span> = fopen(<span>$fileName</span>, <span>'w'</span>); fwrite(<span>$fp</span>, <span>'这是中文内容'</span>); fclose(<span>$fp</span>); <span>?></span></span></code>
위 스크립트를 실행하고 새로 생성된 문서를 찾아보세요:
보시다시피 문서 이름은 왜곡되어 있지만 문서의 내용은 그렇지 않습니다.
위 PHP 스크립트에서 코드의 두 번째 문장의 주석을 제거하고 $fileName
를 UTF-8 인코딩에서 GBK 인코딩으로 변환한 후 다시 스크립트를 실행하여 찾아보세요. 문서 이름 더 이상 잘못된 문자가 없습니다:
현재 이 상황은 Windows 시스템에서만 발견되고 Mac OS/Linux에서는 정상이므로 작동합니다. Unix/Linux 시스템에서는 괜찮습니다. 문서 이름의 인코딩을 변환할 필요가 없습니다. 문서 이름을 GBK 인코딩으로 변환하려고 하면 다음과 같이 왜곡됩니다.
저작권 표시: 이 글은 해당 블로거의 원본 글이므로 블로거의 허락 없이 복제할 수 없습니다.
위 내용은 PHP fopen 함수를 사용하여 Windows 시스템에서 중국어 이름의 문서를 만들 때 발생하는 문자 왜곡 문제를 소개하며, 관련 측면도 포함하여 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.