在mysqli_connect或者mysql_connect语句后加上mysqli_query(@$this->db,"SET NAMES 'gbk'"); 
或者
mysql_query(@$this->db,"SET NAMES 'gbk'"); gbk为你使用的页面编码
<meta http-equiv="Content-Type" content="text/html; charset=gbk">gb2312 或者 utf-8,总之与你的页面编码一致应该就可以了

解决方案 »

  1.   

    楼上正解
    还要在php文件顶上加上
    header("Content-Type:text/html;charset=GBK");
    这样保证安全些,因为有时候如果没有这个的话,当你打开一个utf8网页后,在这个窗口重新输入你自己的这个gbk网址,就会出现乱码,需要手动更改浏览器编码
      

  2.   

    这个问题很复杂,一时半会是说不清的.
    最简单的解决方法就是页面编码与数据库编码完全一致.比如都使用UTF8就不会有这个问题了.如果要在多编码中互相使用,需要在数据库读写前使用 SET NAMES xxx ,在PHP里也会使用到 mb_convert_encoding 或其它的编码转换函数的.
      

  3.   

    同意二楼看法,
    还有就是,这种问题一是先把数据库里的编码修改为支持中文的gbk或utf8,安装时有选项,或用set names gbk
    还有就是修改PHP中的语言设置,改为gbk或utf8,在PHP.ini中修改
    再有就是在页面中强制规定header();
    再有就是连接数据库时加上编码;以上的解决方案不难,可以试一下