Home > Article > Backend Development > PHP unified page encoding to avoid garbled code problems, PHP page encoding is garbled_PHP tutorial
Unified page encoding
MySQL database encoding, html page encoding, PHP or html file itself encoding must all be consistent.
1. MySQL database encoding:
Specify the encoding (such as gbk_chinese_ci) when creating the database. Do not specify the encoding when creating data tables, fields, and inserting data. The encoding of the database will be automatically inherited.
There is also encoding when connecting to the database. After connecting to the database, execute mysql_query('SET NAMES gbk'); //Replace gbk with your encoding, such as utf8.
2. The encoding of the html page refers to the setting of this line:
Copy code The code is as follows:
3. The encoding of the PHP or html file itself:
Use editplus to open the php file or html file. When saving, select the encoding. If the database and page encoding is gbk, select ansi as the encoding here; if the database and page encoding is utf-8, select utf- here as well. 8.
4. The data passed in Javascript or Flash is utf-8 encoded:
Another thing to note is that the data passed in Javascript or Flash is encoded in utf-8. If the database and page encoding is gbk, it needs to be transcoded and then written to the database.
Copy code The code is as follows:
iconv('utf-8', 'gbk', $content);
5. In the PHP program, you can add a line to specify the encoding of the PHP source program:
Copy code The code is as follows:
header('Content-type: text/html; charset=gbk');
php page encoding
1. Set the encoding in the file header
Copy code The code is as follows:
@header('Content-type: text/html;charset=UTF-8');
?>
2. The difference between header and meta
Use @header('Content-type: text/html; charset=gbk'); with Difference
They all tell the browser what encoding to use to display the web page. If there is any difference, header sends the original HTTP header and leaves nothing in the web page, while meta is written in the web page.
First, if there is no meta in the web page, then sending HTTP headers will work.
Second, use the header() function to send the original HTTP header, which can contain more content, and setting the encoding is only one of them.
Third, sometimes it is not necessary to display any content on the web page, but it is necessary to inform the browser what encoding to use for subsequent actions.