PHP UTF-8中文乱码的解决方法

PHP + Mysql 开发过程中,经常设置编码格式为UTF-8,但在使用过程中经常出现中文乱码的问题.

乱码的情况包括Mysql的乱码和web页面的乱码

解决方案有以下:

1.在连接数据库后设置编码格式

if(!$db = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD))
{
   die("connect db err");
}

mysql_query("set character set 'utf8'");//读库 
mysql_query("set names 'utf8'");//写库

2.设置网页编码格式

3..设置网页文件格式为utf-8

使用Notepad++等工具设置编码为utf-8,注意不是utf-8-bom

utf-8和utf-8-bom的区别详见另一篇文章 jquery使用json莫名多了好多空格

4.中文编码进行url编码时指定UTF-8

编码:

 $Content = htmlentities($Content,ENT_NOQUOTES,"utf-8"));

解码:

$Content = html_entity_decode($Content