出现乱码有两种可能的情况:php文件与前台页面之间的编码不一致;再者php与数据库的编码不一致。
一、PHP文件的编码
1. php文件本身的编码与网页的编码应匹配
如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312″),静态页面添加,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8″),静态页面添加,所有文件的编码格式为utf-8。
2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。
二、页面与数据库
页面申明的编码与数据库内部编码一致,如果页面申请的页码与数据库内部编码不 一致时,就设定连接编码 ,mysql_query(“SET NAMES XXX “); XXX为连接编码。
你检查一下,出现乱码绝对不是程序那里出错了,而是你的编码不一致造成的