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');".
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!