>  기사  >  백엔드 개발  >  Windows의 PHP에서 UTF-8 파일 이름을 어떻게 처리할 수 있습니까?

Windows의 PHP에서 UTF-8 파일 이름을 어떻게 처리할 수 있습니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-03 14:18:31157검색

How Can I Handle UTF-8 Filenames in PHP on Windows?

PHP - Windows에서 UTF-8 파일 이름 처리

문제 설명

UTF-8로 인코딩된 파일 이름이 포함된 파일을 업로드하면 Windows에서 문자가 왜곡됩니다.

제안된 솔루션

이 문제를 해결하기 위한 원래 제안에서는 iconv() 함수를 사용하여 파일 이름을 CP1258과 같은 Windows 시스템과 호환되는 코드 페이지로 변환하는 것이 포함되었습니다. 그러나 이 접근 방식에는 제한이 있습니다.

업데이트된 솔루션

실제로 PHP 파일 시스템 함수는 시스템의 활성 코드 페이지 내에 있는 문자만 처리할 수 있습니다. 따라서 두 가지 가능한 해결책이 있습니다.

옵션 1:

  • 파일 이름 문자를 시스템의 코드 페이지로 제한합니다(예: 귀하의 경우 CP437)
  • 이 옵션은 베트남어 문자의 사용을 제한합니다.

옵션 2:

  • 시스템 코드 페이지를 베트남어로 변경합니다(예: CP1258). )
  • 파일 이름을 새 코드 페이지로 변환합니다(예: $fn2 = iconv("UTF-8","cp1258", $base_dir.$fn);)
  • 이 옵션도 파일 이름 문자를 베트남어 코드 페이지 1258로 제한합니다.

두 옵션의 단점:

  • 옵션 1: 불가능 특정 베트남어 문자 사용
  • 옵션 2: 시스템 코드 페이지 변경 요구 사항 및 파일 이름 문자 제한

시스템 코드 페이지 변경에 대한 추가 정보

시스템 코드 페이지를 변경하려면:

  1. 제어판 > 지역
  2. "관리" 탭 선택
  3. "유니코드를 지원하지 않는 프로그램용 언어"에서 "시스템 로케일 변경" 버튼 클릭
  4. "베트남어(베트남)" 선택 드롭다운 메뉴에서

위 내용은 Windows의 PHP에서 UTF-8 파일 이름을 어떻게 처리할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.