第一种、HTML和PHP混合的页面解决方案
方法一:使用<meta>标签
如果是HTML中嵌入PHP代码,可以使用<meta charset="UTF-8">来解决中文乱码问题
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>php输出中文乱码</title> </head> <body> <div class="demo"> <?php echo "php中文网!"; ?> </div> </body> </html>
方法二:使用header()函数
如何是HTML和PHP混编,除了按照第一个方法所说的操作之外,还需要在PHP文件的最上面加入这句代码:
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
第二种、纯PHP页面的中文乱码问题(数据是静态的)
如果你的PHP页面出现了乱码,只需要在页面的开始处加入下面代码就可以了。
<?php header("content-type:text/html;charset=utf-8"); //设置编码 ?>
第三种、PHP+Mysql中文乱码问题
这个除了按照第三种所说的操作之外,还要在你的数据查询/修改/增加之前加入数据库编码。而且,值得注意的是,这里的UTF8和之前的不一样,中间是没有横线的。
<?php mysql_query('SET NAMES UTF8'); //接下来的就是查出数据或者修改,增加 ?>
如何你使用的MySQL版本在 4.1 或更高版本,可以在链接数据库操作后,设置一个字符编码,像下面这样
UTF-8编码只是其中一种编码,如果不想使用utf-8编码,也可以使用其他编码,只需将UTF-8换成你想使用的编码就可以,目前中文网站开发中主要用的是GB2312和UTF-8 两种编码。
有一点要注意的是在需要做数据库操作的php程序前加的 mysql_query(“set names ‘编码'”);编码,一定要和php编码一致,如果php编码是gb2312那mysql编码就是gb2312,如果是utf-8那mysql编码就是 utf8,这样插入或检索数据时就不会出现乱码了