>백엔드 개발 >PHP 문제 >PHP Excel에서 잘못된 문자를 내보내는 경우 수행할 작업

PHP Excel에서 잘못된 문자를 내보내는 경우 수행할 작업

藏色散人
藏色散人원래의
2020-11-03 13:59:372752검색

php excel에서 내보낸 잘못된 코드에 대한 해결 방법: 1. "$filename"을 변환하고 "iconv('utf-8", "gb2312", $filename)" 문을 실행합니다. 2. Excel의 문자 집합을 "charset"으로 정의합니다. =UTF-8".

PHP Excel에서 잘못된 문자를 내보내는 경우 수행할 작업

권장: "PHP 비디오 튜토리얼"

Php에서 Excel 파일을 내보낼 때 문자 깨짐에 대한 솔루션

Php에서 Excel 파일을 내보낼 때 두 가지 주요 프로세스가 있습니다:

1 . 정의 파일 이름

2. Excel 데이터 채우기

이 두 프로세스에 일부 잘못된 코드 문제가 있을 수 있습니다. 아래 해결 방법에 대해 설명하겠습니다.

파일 이름의 잘못된 코드에 대한 해결 방법:

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

해결책: $filename을 변환하고 다음을 실행합니다: iconv('utf-8", "gb2312", $filename). 귀하의 환경이 iconv 기능을 지원하지 않는 경우 $filename의 인코딩을 gbk로 변환할 수 있다면 다른 기능을 사용할 수 있습니다.

그러나 이 문제는 다시 발생할 것이며 Linux 사용자는 파일 이름이 왜곡될 것입니다(Linux 플랫폼 파일 이름이 gbk 인코딩되지 않기 때문입니다).

이 문제를 고려하여 저는 두 가지 방법을 채택했습니다. 첫째: 일부 고객을 포기합니다. 결국 Windows 시스템 사용자가 대다수를 차지합니다. 둘째: Gmail과 마찬가지로 다운로드 주소가 2개 제공됩니다. 파일 이름 하나는 gbk로 인코딩되고, 파일 이름 하나는 utf-8로 인코딩됩니다.

Excel의 잘못된 데이터 해결 방법:

잘못된 코드 원인: 웹 페이지 인코딩이 Excel 인코딩과 일치하지 않습니다.

해결책: 인코딩이 일관성이 없으므로 일관성 있게 만들어도 괜찮습니다. Excel의 문자 집합을 정의합니다: header("Content-Type: application/vnd.ms-excel; charset=UTF-8"). Excel 문제를 해결하려면 charset=UTF-8이 표시됩니다. 내부 데이터는 왜곡되어 있습니다. 이것은 비교적 간단합니다.

위 내용은 PHP Excel에서 잘못된 문자를 내보내는 경우 수행할 작업의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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