Home >Backend Development >PHP Problem >What to do if php exports excel with garbled characters

What to do if php exports excel with garbled characters

coldplay.xixi
coldplay.xixiOriginal
2020-11-02 13:47:344059browse

Solution to the garbled code exported by php: 1. Transcode [$filename] and execute the statement [iconv('utf-8", "gb2312", $filename)]; 2. Define Excel characters Set, the web page encoding is consistent with [charset=UTF-8].

What to do if php exports excel with garbled characters

Solution to php exporting excel garbled code:

1. Solve the garbled code of the file name exported by PHP to Excel:

Cause of garbled code: The customer uses the Chinese version of Windows system platform, and the file name encoding of the Windows platform is gb2312 (gbk) , and our web page coding generally uses utf-8 (internationalization) encoding in order to follow the existing trend. At this time, when we: header("Content-Disposition: inline; filename=/"" . $filename . ".xls/" "), garbled characters will appear. If your web page encoding is gb2312, then there is no need to consider the encoding problem.

Solution: To transcode $filename, execute: iconv('utf -8", "gb2312", $filename). If your environment does not support the iconv function, you can use another function, as long as the encoding of $filename can be converted to gbk.

But this problem will come again, and Linux users will have garbled file names (because the file names on the Linux platform are not gbk encoded).

Considering this problem, I adopted two methods: First: give up some customers, after all, Windows system users account for the vast majority. Second: Like gmail, two download addresses are provided. One file name is gbk encoded, and one file name is utf-8 encoded.

2. Solve the problem of Excel garbled code when PHP exports data in Excel:

Reason for PHP to export Excel garbled code: The web page encoding is inconsistent with the Excel encoding.

Solution: Since the encoding is inconsistent, it will be OK to make it consistent. Define Excel's character set: header("Content-Type: application/vnd.ms-excel; charset=UTF-8"). You will see charset=UTF-8. Make it consistent with your web page encoding to solve Excel problem. The internal data is garbled. This is relatively simple!

Related video recommendations: PHP programming from entry to proficiency

The above is the detailed content of What to do if 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