Home > Article > Backend Development > What to do if php excel exports garbled characters
php Excel export garbled solution: 1. Convert "$filename" and execute the statement "iconv('utf-8", "gb2312", $filename)"; 2. Define Excel characters The set is "charset=UTF-8".
Recommended: "PHP Video Tutorial"
Php export Excel Solving garbled files
There are two main processes when exporting Excel files with Php:
1. Define the file name
2. Fill in the Excel data
There may be some garbled characters in these two processes. Let me talk about the solution below:
Solving the garbled characters in the file name:
Cause of garbled characters: The Chinese version of Windows system platform used by the customer, The file name encoding of the Windows platform is gb2312 (gbk), and our web page encoding 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: transcode $filename, Execution: 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"). 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!
The above is the detailed content of What to do if php excel exports garbled characters. For more information, please follow other related articles on the PHP Chinese website!