Home >Backend Development >PHP Tutorial >How to solve the problem that the file hit text appears garbled when saving in PHPExcel?

How to solve the problem that the file hit text appears garbled when saving in PHPExcel?

一个新手
一个新手Original
2017-09-27 09:30:134898browse

How to solve the problem that the file hit text appears garbled when saving in PHPExcel?

How to solve the problem that the file hit text appears garbled when saving in PHPExcel?

There are two main processes when Phpexcel exports Excel files:

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:

Solution to the garbled characters in the file name:

Cause of garbled characters:

The Chinese version of the Windows system platform used by the customer, 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: header("Content-Disposition: inline; filename=\"" . $filename . ".xls-:special:1:-"), garbled characters will appear. If your web page encoding is gb2312, then there is no need to consider it. Encoding problem.

Solution:

Transcode $filename, execute:

$filename = iconv("utf-8", "gb2312", $filename);
header("Content-Disposition:attachment;filename=".$filename.".xlsx");

If your environment does not support the iconv function, you can change it to another function, as long as it can Just convert the encoding of $filename to gbk.

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

Consider. When it comes to this problem, I use two methods: First: give up some customers, after all, Windows system users account for the majority. Second: like gmail, provide two download addresses, one with gbk encoding and one with utf-8. Encoding.

Solution to garbled data in Excel:

Cause of garbled code:

Solution: 1. Since the encoding is inconsistent. , then it’s OK to make it consistent.

Define Excel’s character set:

header("Content-Type: text/html; charset=utf-8");

For more related knowledge, please visit PHP Chinese website!

The above is the detailed content of How to solve the problem that the file hit text appears garbled when saving in PHPExcel?. 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