Home > Article > Backend Development > How to solve the problem of garbled xls exported by php
Solution to the garbled code exported by php: 1. Execute the "iconv('utf-8", "gb2312", $filename)" method to transcode "$filename"; 2. Define the Excel character set is "charset=UTF-8".
Recommended: "PHP Video Tutorial"
Php Solution to garbled characters when exporting Excel files
There are two main processes when exporting Excel files with Php:
1. Define the file name
2. Fill in the Excel data
Some garbled characters may occur during these two processes. Let me talk about the solutions:
Solve the garbled characters of the file name:
Garbled characters Reason: The customer uses the Chinese version of Windows system platform, and the file name encoding of the Windows platform is gb2312 (gbk). In order to follow the existing trend, our web page encoding generally uses utf-8 (internationalization) encoding. At this time, when we: When 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 encoding issues.
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.
Solution to garbled data in Excel:
Cause of 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"), see charset=UTF-8, make it consistent with your web page encoding to solve Excel The internal data is garbled. This is relatively simple!
The above is the detailed content of How to solve the problem of garbled xls exported by php. For more information, please follow other related articles on the PHP Chinese website!