Home > Backend Development > PHP Problem > How to solve the problem of garbled xls exported by php

How to solve the problem of garbled xls exported by php

藏色散人
Release: 2023-03-05 08:20:02
Original
2014 people have browsed it

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".

How to solve the problem of garbled xls exported by php

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!

Related labels:
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template