> 백엔드 개발 > PHP 문제 > PHP Excel Reader에서 내보낸 중국어 왜곡된 한자를 해결하는 방법은 무엇입니까?

PHP Excel Reader에서 내보낸 중국어 왜곡된 한자를 해결하는 방법은 무엇입니까?

coldplay.xixi
풀어 주다: 2023-03-02 13:44:02
원래의
3614명이 탐색했습니다.

PHP Excel Reader로 내보낸 중국어 문자 깨짐 해결 방법: 1. 덤프 기능을 사용하지 않는 경우 [_defaultEncoding] 변수를 수정하여 문제를 해결할 수 있습니다. 2. 덤프 기능을 사용하여 Excel을 내보내는 경우, 문제를 해결하려면 htmlentities 함수를 수정해야 합니다.

PHP Excel Reader에서 내보낸 중국어 왜곡된 한자를 해결하는 방법은 무엇입니까?

PHP Excel Reader에서 내보낸 한자가 깨졌을 때 해결하는 방법:

PHP Excel Reader2.21을 다운로드한 후 PHP 환경 구성의 실행 디렉터리에 압축을 풀고 먼저 example.php를 엽니다. 보자

1$data=new Spreadsheet_Excel_Reader("example.xls");
로그인 후 복사
로그인 후 복사

이 문은 Excel을 내보내는 PHP의 인스턴스를 만드는 데 사용됩니다. excel_reader2.php 파일에서 이 PHP Excel Reader 클래스의 생성자 프로토타입을 찾을 수 있습니다.

Spreadsheet_Excel_Reader($file='',$store_extended_info=true,$outputEncoding='')
로그인 후 복사

이름에서 알 수 있듯이 PHP Excel Reader는 인코딩을 내보냅니다. Excel 파일 내용의 유형은 $outputEncoding 매개변수를 통해 지정됩니다. PHP Excel Reader에서 내보낸 Excel의 기본 인코딩 유형은 _defaultEncoding 변수를 통해 설정됩니다. UTF-8이므로 일반적으로 PHP Excel Reader에서 Excel 중국어 왜곡 문자를 내보내는 방법에는 두 가지가 있습니다. $outputEncoding参数来指定的,默认的php excel reader导出excel的编码类型是通过变量_defaultEncoding设定,默认为UTF-8,所以通常解决php excel reader导出excel中文乱码有两种方法。

php excel reader导出excel中文乱码解决方法一:

1$data=new Spreadsheet_Excel_Reader("example.xls");
로그인 후 복사
로그인 후 복사

改为

1$data=new Spreadsheet_Excel_Reader("example.xls",true,"GB2312");
로그인 후 복사

php excel reader导出excel中文乱码解决方法二:

打开excel_reader2.php,找到

1var$_defaultEncoding="UTF-8";
로그인 후 복사

修改为

1var$_defaultEncoding="GB2312";
로그인 후 복사

即可解决php excel reader导出excel乱码的问题。

那为什么通过上述教程修改后,如果在example.xls中添加中文后example.php仍然输出乱码呢?

这是因为其调用了php excel reader类中的dump函数,此函数是用来将导出的excel文件内容以HTML的形式输出,而问题恰恰是由于这个函数中htmlentities函数作怪,htmlentities函数是用来把字符转换为HTML实体的,原型如下

htmlentities(string,quotestyle,character-set)
로그인 후 복사

其默认的字符集为ISO-8859-1,所以当使用php excel reader的dump函数导出excel出现中文乱码时,

解决方法一:

1$val=htmlentities($val);
로그인 후 복사
로그인 후 복사

修改为

1$val=htmlentities($val,ENT_COMPAT,"GB2312");
로그인 후 복사

解决方法二:

1$val=htmlentities($val);
로그인 후 복사
로그인 후 복사

修改为

1$val=htmlspecialchars($val);
로그인 후 복사

php excel reader导出excel中文乱码解决方法总结

  如果不使用dump函数导出excel,可以通过修改_defaultEncoding

php excel reader는 중국어 잘못된 코드로 Excel을 내보냅니다. 해결 방법 1:

rrreee

rrreee
🎜로 변경되었습니다. 해결 방법 2: 🎜
🎜🎜excel_reader2를 엽니다. php excel reader에서 내보낸 엑셀이 깨져 나오는 문제를 해결하려면 🎜rrreee🎜를 🎜rrreee🎜로 변경하세요.
🎜🎜그럼 위 튜토리얼을 통해 수정한 후 example.xls에 중국어를 추가했는데도 example.php에서 여전히 잘못된 문자가 출력되는 이유는 무엇입니까? 🎜🎜PHP Excel Reader 클래스에서 dump 함수를 호출하기 때문입니다. 이 함수는 내보낸 Excel 파일의 내용을 HTML 형식으로 출력하는 데 사용됩니다. 이 함수에서 htmlentities가 문제를 일으키고 있습니다. htmlentities 함수는 문자를 HTML 엔터티로 변환하는 데 사용됩니다. 프로토타입은 다음과 같습니다🎜rrreee🎜 기본 문자 세트는 ISO-8859-1이므로 PHP의 덤프 함수를 사용할 때 excel 리더에서 Excel을 내보내면 중국어 이상한 문자가 나타납니다.🎜 🎜🎜해결책 1: 🎜🎜rrreee🎜 수정됨 🎜rrreee🎜🎜해결책 2: 🎜🎜rrreee🎜 수정됨 🎜rrreee🎜🎜php excel 리더 내보내기 excel 중국어 깨짐 해결 방법 요약 🎜 🎜🎜 덤프 기능을 사용하여 Excel을 내보내지 않는 경우 _defaultEncoding 변수를 수정하거나 새로운 Spreadsheet_Excel_Reader(excel 파일 이름, true, "GB2312")를 전달하여 잘못된 Excel 내보내기 문제를 해결할 수 있습니다. ; 덤프 기능을 사용하여 Excel을 HTML로 내보내는 경우 htmlentities 기능을 수정해야 합니다. 잘못된 Excel 파일을 내보내는 문제를 해결합니다. 🎜🎜🎜관련 학습 권장 사항: 🎜초보부터 마스터까지 PHP 프로그래밍🎜🎜🎜

위 내용은 PHP Excel Reader에서 내보낸 중국어 왜곡된 한자를 해결하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿