>  기사  >  백엔드 개발  >  PHPExcel에 저장할 때 파일 히트 텍스트가 깨져서 나타나는 문제를 해결하는 방법은 무엇입니까?

PHPExcel에 저장할 때 파일 히트 텍스트가 깨져서 나타나는 문제를 해결하는 방법은 무엇입니까?

一个新手
一个新手원래의
2017-09-27 09:30:134824검색

PHPExcel에 저장할 때 파일 히트 텍스트가 깨져서 나타나는 문제를 해결하는 방법은 무엇입니까?

PHPExcel에 저장할 때 파일 히트 텍스트가 깨져서 나타나는 문제를 해결하는 방법은 무엇입니까?

Phpexcel에는 Excel 파일을 내보낼 때 두 가지 주요 프로세스가 있습니다.

1. 파일 이름 정의

2. Excel 데이터 입력

이 두 프로세스에 잘못된 문제가 있을 수 있습니다. 아래에서 해결하겠습니다. 방법 :

파일 이름이 깨졌을 때 해결 방법:

코드 깨짐 원인:

고객이 사용하는 Windows 시스템 플랫폼의 중국어 버전이며 Windows 플랫폼의 파일 이름 인코딩은 gb2312(gbk)이며 당사 웹 페이지 코딩은 기존 추세를 따르기 위해 일반적으로 utf-8(국제화) 인코딩이 사용되며, 이는 header("Content-Disposition: inline; filename="" . $filename . ".xls-: 특수:1:-") 잘못된 코드, 웹페이지 인코딩이 gb2312인 경우 인코딩 문제를 고려할 필요가 없습니다.

해결책:

$filename 변환, 실행:

$filename = iconv("utf-8", "gb2312", $filename);
header("Content-Disposition:attachment;filename=".$filename.".xlsx");

환경에서 지원하지 않는 경우 iconv 함수를 사용하는 경우 $filename의 인코딩을 gbk로 변환하기만 하면 다른 함수로 변경할 수 있습니다.

그러나 이 문제는 다시 발생하며 Linux 사용자는 파일 이름이 깨질 수 있습니다(Linux 플랫폼의 파일 이름 때문에) gbk로 인코딩되지 않음)

이 문제를 고려하여 두 가지를 사용합니다. 방법: 첫 번째: 일부 고객을 포기하면 결국 Windows 시스템 사용자가 대다수를 차지합니다. 두 번째: Gmail과 마찬가지로 하나의 파일 이름은 gbk입니다.

Excel에 대한 해결 방법:

잘못된 코드의 원인: 웹 페이지 인코딩이 Excel 인코딩과 일치하지 않습니다. 인코딩이 일관되지 않으니 일관되게 해도 괜찮습니다.

Excel 문자 집합 정의:

header("Content-Type: text/html; charset=utf-8");

더 보기 관련 지식을 보려면

PHP 중국어 웹사이트

를 방문하세요.

위 내용은 PHPExcel에 저장할 때 파일 히트 텍스트가 깨져서 나타나는 문제를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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