>  기사  >  백엔드 개발  >  PHP 내보내기가 잘못된 문자로 인해 탁월한 경우 수행할 작업

PHP 내보내기가 잘못된 문자로 인해 탁월한 경우 수행할 작업

藏色散人
藏色散人원래의
2020-11-24 09:43:334190검색

PHP에서 내보낸 잘못된 Excel에 대한 해결 방법: 1. PHP 파일 인코딩을 UTF8로 설정하고 헤더 인코딩을 UTF8로 지정합니다. 2. 데이터베이스 인코딩을 UTF8로 설정합니다. 3. 레이아웃에 테이블을 사용합니다.

PHP 내보내기가 잘못된 문자로 인해 탁월한 경우 수행할 작업

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

이 튜토리얼의 운영 환경: Windows 7 시스템, PHP 버전 5.6 이 방법은 모든 브랜드의 컴퓨터에 적합합니다.

CVS를 사용하여 PHP를 사용하여 Excel로 내보낸 문자가 깨졌던 문제에 대한 해결 방법

PHP를 사용하여 CVS 파일을 생성하고 Excel을 통해 열었을 때 모든 한자가 깨졌습니다. WPS를 통해 로컬 win08에서는 정상이었는데, 서버에 업로드할 때 리눅스를 서버에서 테스트해보니 글자가 깨져서 처음에는 리눅스 문제였으나 나중에 테스트를 해보니 WPS인 것으로 확인되었습니다. 문제(WPS가 인코딩을 처리했을 수 있다고 추측하고 서버에서 Excel을 통해 여는 것도 깨졌습니다.)

내 PHP 파일과 데이터베이스의 인코딩은 모두 UTF-8 형식이고 인코딩은 텍스트 편집기도 UTF-8입니다.

PHP 코드

내보낸 CVS 문서, 텍스트 편집기를 사용하여 열 때 잘못된 코드가 없습니다.

Excel을 사용하여 열면 거기에 깨진 코드입니다

인터넷의 많은 사람들이 데이터베이스의 데이터를 UTF-8에서 GBK로 변환하거나 헤더에 인코딩을 지정하는 방법을 두 가지 방법을 모두 시도했지만 여전히 작동하지 않는다고 말합니다

$html .= iconv("UTF-8","GBK",$row[$key]).$tab;

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

그래서 이 기사에서는 문서를 내보내기 전에 BOM을 추가하면 문제가 해결된다는 사실을 발견했습니다. PHP는 CSV 파일을 내보내고 Excel에서 열면 중국어 문자가 깨져 나타납니다(https: //xinpure. com/php-export-csv-file-opened-by-excel-appear-garbled/)


하지만 BOM 이후 각 행의 셀이 하나(t)로 병합되지만 Table을 사용하여 해결합니다. 줄 바꿈 문제 , 그러나 예기치 않게 Table을 사용하면 잘못된 문제가 해결되었습니다(BOM이 필요 없음)

해결 방법:

PHP 파일은 UTF-8로 인코딩되고 헤더 인코딩은

    UTF-8 header("Content-type:application/vnd.ms-excel;charset=UTF-8");
  1. 로 지정됩니다. 데이터베이스 인코딩은 UTF-8

    로 설정되었으며 레이아웃에 테이블을 사용합니다(문서를 내보내기 전에 BOM 추가)

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

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