to the static file to force the browser to format it in UTF-8 View page."/> to the static file to force the browser to format it in UTF-8 View page.">

Home >Backend Development >PHP Problem >Garbled text appears when browsing the php page

Garbled text appears when browsing the php page

王林
王林Original
2019-09-28 17:58:453052browse

Garbled text appears when browsing the php page

Garbled web pages have always been a headache for network programming experts. I am a beginner in PHP Web programming. I also encountered this problem during my studies. I searched for relevant resources and summarized as follows. :

General Chinese encoding: gb2312, gbk (an extension of the former), these two encodings lack international versatility; UTF-8 is an international standard encoding, and general web page encoding uses this encoding method;

Garbled characters are mostly caused by inconsistencies in encoding methods. There are four main inconsistencies that may cause this possibility:

1. The encoding method of the page file ( .html, .php, etc.)

2. The encoding method of the browser specified in html.head

3. The encoding method of MySql database transmission

4. Apache character set

The encodings of these four generally need to be unified, and it is more appropriate to unify them into UTF-8. The following four points should be noted:

1. Editing like PlusEdit will recognize the file encoding, and the encoding will remain unchanged after opening and saving; while development tools such as visual studio 2005 and Zend Studio will use tools The character set in the preferences is opened and saved, and the original encoding may be changed.

It may be utf-8 originally, zend studio ->Tools (preference encoding is gb2312), open and save it and it will become gb2312, which may cause garbled characters;

2, < ;meta http-equiv="Content-Type" content="text/html; charset=utf-8">This sentence can force the browser to view the page in utf-8 encoding, but there is one thing to note. Maybe the character set of Apache is non-UTF-8, such as GB2312. In this case, the browser will first open the character set encoding of the server (GB2312), which may cause garbled characters.

So it can generally be handled like this: Turn off the character set of the server Apache AddDefaultCharset off At this time, the browsing will be opened with the character set in the page Head.

3. PHP generally interacts with the Mysql database. When the two communicate with each other, there is also an encoding problem. Regardless of adding or querying, the communication encoding method must be specified (generally consistent with the encoding method UTF-8 in the Head. Otherwise, the data taken out is encoded in non-UTF-8, and it will still be garbled when displayed on the page; transmitting UTF-8-encoded characters to the database through non-UTF-8 communication methods will also fail. I encountered this Insert failure. Question, I hope everyone will not repeat the same mistake, O(∩_∩)O~) Specify the communication method: mysql_query('set names utf8'), please note that it is not utf-8;

4. Generally when building a database The encoding does not matter. There will be problems in the execution of SQL statements after modification. For example, when the front-end visualization tool deletes data, it will report an error that the character set does not match. There is no need to modify the encoding method in the my.ini file. After modification, Mysql may not be able to When started, a 1065 error was reported.

As long as there is no garbled code when adding and checking the mysql client program on the command line, there should be no problem with the encoding method of the database. The key thing to check is whether the garbled code is caused by the above three.

Recommended video tutorial: PHP video tutorial

The above is the detailed content of Garbled text appears when browsing the php page. 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
Previous article:Is the php page static?Next article:Is the php page static?