PHP ziparchive의 중국어 왜곡 문자에 대한 해결 방법: 먼저 압축 패키지를 열고 내부 파일 이름과 디렉터리를 트랜스코딩한 다음 트랜스코딩 후 압축 패키지를 닫고 압축을 풀기 위해 다시 엽니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
ZipArchive를 사용하여 PHP의 압축을 풀 때 중국어 문자 왜곡 문제에 대한 해결 방법
PHP 자체 ZipArchive를 사용하여 압축 해제 중국어 파일 이름을 가진 패키지는 문자 깨짐 현상이 발생하며 현상은 다음과 같습니다.
원본 구조:
압축 해제 코드:
$zip = new \ZipArchive(); $res = $zip->open('./钱学森班.zip'); if ($res !== true){ throw new \Exception('打开压缩包失败'); }$zip->extractTo('./cache'); $zip->close();
압축 해제 후:
Reason
기본값은 Windows입니다. Mac에서 패키지를 압축하는데 인코딩이 중국어 간체입니다. 압축을 풀 때 파일 변환 실패로 인해 압축 해제 결과가 예상과 다릅니다
해결책
압축된 패키지를 연 후 먼저 내부 파일 이름과 디렉터리를 트랜스코딩하세요. 트랜스코딩을 수행하려면 압축 패키지를 닫고 압축 해제를 다시 시작해야 합니다
구현 방법은 다음과 같습니다.
$zipName = './钱学森班.zip'; $zip = new \ZipArchive(); $res = $zip->open($zipName); if ($res !== true){ throw new \Exception('打开压缩包失败'); } // 加入此段↓ $fileNum = $zip->numFiles; for ($i = 0; $i < $fileNum; $i++) { $statInfo = $zip->statIndex($i, ZipArchive::FL_ENC_RAW); $zip->renameIndex($i, iconv('GBK', 'utf-8//IGNORE', $statInfo['name'])); } $zip->close(); $zip->open($zipName); // 截至↑ $zip->extractTo($extractTo); $zip->close();
참고 사항
- 트랜스코딩 후 원본 압축 패키지 파일이 수정되었기 때문에 다시 트랜스코딩할 수 없습니다. 원본 파일에 영향을 미치고 싶지 않다면 먼저 복사해야 합니다 (php-zip 확장자는 파일 스트림을 자체적으로 읽으므로 복사가 필요하지 않습니다)
-
변환 전 인코딩 판단을 위해 mb_Detect_encoding을 사용하면 여전히 UTF-8이 반환됩니다
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP ziparchive에 중국어 문자가 깨져 있으면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

SublimeText3 Linux 새 버전
SublimeText3 Linux 최신 버전

ZendStudio 13.5.1 맥
강력한 PHP 통합 개발 환경

SecList
SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

WebStorm Mac 버전
유용한 JavaScript 개발 도구

PhpStorm 맥 버전
최신(2018.2.1) 전문 PHP 통합 개발 도구