The reasons for garbled HTML text: 1. The web page is encoded in gbk, and the html document is encoded in utf-8. Inconsistent encoding methods lead to garbled characters; 2. The encoding of the html web page is gbk, and the content that the program calls out from the database is UTF-8 encoding, inconsistent encoding methods lead to garbled characters.
The operating environment of this tutorial: Windows7 system, CSS3&&HTML5 version, Dell G3 computer.
The main reason for garbled html web pages is that the Chinese text content in the html source code is different from the html encoding. But no matter which situation causes garbled code, the web page encoding needs to be set at the beginning of the web page.
<meta charset="utf-8">
htmlScreenshots of garbled web pages
1. For example, the source code of the web page is gbk encoded, and the Chinese characters in the content are utf- 8 encoding, so garbled html will appear when the browser is opened. On the contrary, if the web page is encoded in utf-8 and the content is gbk, garbled characters will appear.
2. The encoding of the HTML web page is gbk, and the program calls out the content encoded in utf-8 from the database, which will also cause encoding garbled characters.
The first method is that the source code encoding of the html web page is different from the Chinese character input encoding.
Solution:
Use software to edit HTML web page content. It is recommended to use DW software for HTML code editing and development.
Try not to use Notepad directly to edit HTML code.
Second, if the web page setting encoding is gbk, and the database storage data encoding format is UTF-8, then the program queries the database data and displays the data before entering the native program for transcoding.
For example, the PHP program mysql query displays data transcoding:
mysql_query("SET NAMES 'UTF8'"); //Transcode the query data to utf8, that is, convert it to utf-8
mysql_query("SET NAMES 'GBK'");//Transcode the query data to GBK, such as gbk2312
When writing the database connection file, write:
$conn = mysql_connect("$host","$user","$password"); mysql_query("SET NAMES 'UTF8'"); mysql_select_db("$database",$conn);
Then when making the page , pay attention to this sentence:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
In this way, regardless of the Chinese input into the database or the page display, everything will be normal.
In the DW CS4 version, the utf8 page is also generated by default.
Similarly, if you write the database connection file at the beginning as:
mysql_query("SET NAMES 'GBK'");
, then the page should also become:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
Other asp programs or other programming language websites are based on For the actual situation, go to Baidu to check the conversion encoding method.
Recommended learning: html video tutorial
The above is the detailed content of Why are html text garbled?. For more information, please follow other related articles on the PHP Chinese website!