Home  >  Article  >  Backend Development  >  What to do if mac php exports excel with garbled characters

What to do if mac php exports excel with garbled characters

藏色散人
藏色散人Original
2021-07-26 09:50:102650browse

The solution to garbled excel exported by mac php: first open the corresponding PHP file; then set "header('Content-Type: application/vnd.ms-excel; charset=gb18030');".

What to do if mac php exports excel with garbled characters

The operating environment of this article: macOS10.15 system, PHP7.1 version, MacBook Air 2019 computer

mac php exports excel garbled characters what to do?

(PHP) Repair mac book export csv xls xlsx Chinese garbled problem

Background: Under normal circumstances, when we export csv (or xls or xlsx), we need to pass the file First, set the text encoding for file output:

header('Content-Type: application/vnd.ms-excel; charset=utf8');

If you use utf8 encoding, generally speaking, wps is easy to use, but office is not easy to use (office will be garbled when opened);

Then in For a long, long time, I have been using gbk or gb2312 to solve this problem:

header('Content-Type: application/vnd.ms-excel; charset=gbk');

I just discovered today that in a mac book environment, setting gbk encoding is actually not possible. It will also be garbled. After going through Baidu, I found out that it should be set to gb18030

header('Content-Type: application/vnd.ms-excel; charset=gb18030');

For an introduction to gb18030, see here: https://baike.baidu.com/item/gb18030/3204518


Of course, in addition to modifying the file header, you must also remember to modify the encoding of the content echoed out, such as the output title:

echo mb_convert_encoding(implode(',', array_values($titles)), 'gb18030') . "\n";

Modified export class:

https://www.cnblogs.com/tujia/p/11358096.html


End.

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of What to do if mac php exports excel with garbled characters. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn