Home >Backend Development >PHP Problem >What should I do if the php page outputs garbled characters?

What should I do if the php page outputs garbled characters?

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-04-19 15:53:174849browse

Solution to the garbled output of the php page: 1. Set the php file encoding and the web page output encoding to be consistent; 2. Set the php file encoding and the character encoding stored in the database to be consistent; 3. Store the data itself and the database Just set the encoding to be consistent.

The operating environment of this tutorial: Windows 7 system, PHP version 7.1, DELL G3 computer

PHP has garbled characters, solve the problem of garbled characters Method

Analysis of the causes of garbled characters

1. When saving a file, the file has its own file encoding, which is Chinese characters or other Chinese languages. What encoding is used to store it?

If you use utf8 encoding when saving the file, and you set gbk encoding when outputting the web page, garbled characters will appear.

2. When outputting, specify the encoding for the content, such as when inputting in the form of a web page.

If the encoding of the saved file is the same as the encoding displayed on the web page, garbled characters still appear. For example, when you save the file, you use utf8 encoding, and your database uses the gb2312 character set to store data.

3. Take Chinese characters as an example. Chinese characters are also encoded. A Chinese character gbk requires two characters, while utf8 requires three characters.

The potential reasons that may cause garbled characters are mentioned above. Now let me arrange and combine them.

The character set of the data, the encoding of the saved file, and the web page display encoding are all the same, but garbled characters still appear. In most cases, the data is garbled when it is entered into the database. This situation is relatively Troublesome.

Methods to solve garbled characters

I named this method the Pao Ding Jie Niu method. Ha ha. Database, save file encoding, the encoding when displaying must be consistent, and the database shall prevail

First, the encoding of the database and saved file is utf8, and the web page display is gb2312. At this time, we need to change The display encoding is

. The second type is that the database and web page display are both utf8, and the file is saved using gb2312. At this time, you should pay attention to one thing. Directly changing the encoding of the saved file will not work. Before changing the encoding, COPY the content of the file first. After the encoding is changed, paste the copied content back and it will be OK.

The third type, database garbled code, is the data itself when entering data. It is caused by the difference in database storage encoding. For example: the storage encoding of the database is utf8. When the data is stored in the database, add a mysql_query("set names utf8;");

The situation of garbled characters

## As for the performance of #garbled characters, I have encountered two.

1) The font that appears is garbled and turns into strange characters

2) It is directly Blank page, check the source code, there is nothing. In situations like this, sometimes I think it is caused by garbled characters. Right-click the page, view the properties, change the encoding and you will know whether the blank page is caused by garbled characters.

Recommended: "

2021 PHP interview questions summary (collection)" "php video tutorial

The above is the detailed content of What should I do if the php page outputs 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