1. Check the problem of converting the HTML page to UTF-8 encoding
1. Add a line after the head and before the title:
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
The order cannot be wrong, it must be after the head and before the title.
2. HTML file encoding problem:
Click the editor menu: "File"->"Save As", you can see the encoding of the current file, make sure the file encoding is: UTF -8, if it is ANSI, the encoding needs to be changed to: UTF-8.
3. HTML file header BOM problem:
When converting a file from other encodings to UTF-8 encoding, sometimes a BOM tag is added at the beginning of the file. The BOM tag may cause the browser to display garbled characters when displaying Chinese characters.
Method to delete this BOM tag:
1. You can open the file with Dreamweaver and resave it to remove the BOM tag!
2. You can open the file with EditPlus, and in the menu "Preferences"->"File"->"UTF-8 Signature", set it to: "Always delete signature", and then save the file , that is, the BOM label can be removed!
3. WEB server UTF-8 encoding problem:
If you follow the steps listed above and still have Chinese garbled problems, please check the encoding of the WEB server you are using. Question; if you are using Apache, please set the charset in the configuration file to: utf-8 (only the methods are listed here, please refer to the apache configuration file for the specific format); if you are using Nginx, please set nginx In .conf: charset is set to utf-8. Specifically, find "charset gb2312;" or a similar statement and change it to: "charset utf-8;".
2. Converting PHP page to UTF-8 encoding problem
1. Add a line at the beginning of the code:
header("Content-Type: text/html;charset=utf-8");
2. PHP File encoding problem:
Click the editor's menu: "File"->"Save As", you can see the encoding of the current file, make sure the file encoding is: UTF-8, if it is ANSI, you need to Encoding changed to: UTF-8.
3. PHP file header BOM problem:
PHP files must not have BOM tags, otherwise, the session will not be usable, and there will be similar prompts:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
This is because when executing session_start(), the entire page cannot have output, but because the BOM tag exists in the previous PHP page, PHP treats the BOM tag as output, so an error occurs! Therefore, the BOM tag must be deleted from the PHP page.
Method to delete this BOM tag:
1. You can open the file with Dreamweaver and resave it to remove the BOM tag!
2. You can open the file with EditPlus, and in the menu "Preferences"->"File"->"UTF-8 Signature", set it to: "Always delete signature", and then save the file , that is, the BOM label can be removed!
4. When PHP saves a file as an attachment, UTF-8 encoding problem:
When PHP saves a file as an attachment, the file name must be GB2312 encoded. Otherwise, if the file If there is Chinese in the name, it will be displayed as garbled characters. If your PHP itself is a file in UTF-8 encoding format, you need to convert the file name variable from UTF-8 to GB2312:
iconv("UTF-8", "GB2312", "$filename");
Recommended tutorial: PHP video tutorial
The above is the detailed content of php web page garbled code. For more information, please follow other related articles on the PHP Chinese website!