PHP【原创】造成网页乱码的根本性原因

以致网页乱码的根本性原因是:编码不一样

什么叫编码不等同?

一、网页中所指定的charset必须与网页保存的公文编码一致,否则会乱码。如:
<meta http-equiv=”Content-Type” content=”text/html;
charset=utf-8″>
PHP,则网页必须保留为utf-8编码。如若是:
<meta http-equiv=”Content-Type” content=”text/html;
charset=gbk”>
则网页必须保留为gbk编码。(操作系统假设是华语,则保留为ANSI。ANSI代表当前操作系统的默认编码,在简体粤语Windows操作系统中,ANSI
编码代表 GBK 编码。)
PHP 1

二、除了一之外,动态脚本或语言编写的代码,其字符的出口是由脚本或语言来输出,必须指定其出口的编码与网页一致,如PHP的utf-8编码:
header(“Content-type: text/html;charset=utf-8”);

三、除了一和二之外,网页代码假设从数据库读取数据,则还必须指定数据库的编码与网页一致,如MySQL:
@mysql_query(“SET character_set_connection=utf8,
character_set_results=utf8, character_set_client=binary”, $conn);
理所当然,MySQL数据库在建即刻,其编码也要保持一致。
(注意MySQL里指定utf-8写的是“utf8”不是“utf-8”,否则不认)

总的一句话:具有的编码要保持一致

关于不同编码的网页之间互传数据,就需要开展对应的编码转换了,涉及的各类应用意况相比较多,这里不开展。

相关文章