http://www.papozhe.com/demo/common.txt 
http://www.papozhe.com/demo/add.txt 
http://www.papozhe.com/demo/index.txt以上文件用UTF8编码可正常浏览,我的MYSQL用5.0 5.1都不行
XP + IIS + MYSQL用DEDE等一些CMS 我不用改MY.INI的编码 建数据库不用指定编码 默认的LATIN1他也正常我按DEDE的建表方式去建表,神了.还是乱码..................

解决方案 »

  1.   

    INDEX.PHP显示时 ç?¨æ?·å?? 去掉 mysql_query("set names utf8");显示问号 
    楼主用什么浏览器?如果是遨游的话,建议点击工具栏上的编码按钮,选择utf-8
    看看,有时候遨游自动选择编码会出现问题。
    PS:我一般用GBK编码未出现乱码问题
      

  2.   

    回楼上的,第一贴里说的很清楚了
    建数据库代码 
    CREATE DATABASE guestbook1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 所有PHP文件另存的时候编码保存为UTF-8 
    并加上 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> common.php 
    也加上了:mysql_query("set names utf8"); 但是还不正常
    所有文件下载:
    http://www.papozhe.com/demo/book.rar
      

  3.   

    即然指定了meta就不用再加header了
    再就是你的header写错了,应该是header('Content-type: text/html; charset=utf-8');
      

  4.   

    楼上的应可以了,强制编码因为你服务器里的默认不是utf-8所在会有问题,但强制header后,可以明确告诉浏览器采用什么编码
      

  5.   

    php6就爽了,没这个的问题了。首先php文件编码为utf-8,工具editplus
    如果没有
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">那么:header('Content-type: text/html; charset=utf-8');
    数据库用utf-8编码,
    原则:所有的涉及到的编码都应该是utf-8(除非特别情况。);
      

  6.   

    谢谢楼上的几位 :)header('Content-type: text/html; charset=utf-8');这个是我后来加上去的.之前就不正常,加了之后也不正常.谁有能用的 UTF-8编码的 小程序 一个叶子也行.我昨天百度了一天了,都说数据库编码跟文件编码一致就可以.4.1以后的话 加个mysql_query("set names 'utf8'"); 就可以了.但我就是不行我的环境没有问题的 因为用DEDE是正常的 :< 有的网友说,修改MY.INI .这个办法在本地也可以 要是用人家的MYSQL就麻烦了.........我看DEDE根本就不用考虑MYSQL服务器什么编码 只要存储数据的表的编码和前台文件的编码一致就可以了 .......
      

  7.   

    就三个文件
    下载
    http://www.papozhe.com/demo/book.rar数据库这样:
    建数据库代码 
    CREATE DATABASE guestbook1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci 建表代码 
    CREATE TABLE `gb_content` ( 
    `id` INT( 11 ) NOT NULL AUTO_INCREMENT PRIMARY KEY , 
    `username` VARCHAR( 16 ) NOT NULL , 
    `content` VARCHAR( 255 ) NOT NULL , 
    `insert_time` DATETIME NOT NULL 
    ) 劳烦各位帮我测试一下,按我的步骤做 看乱不乱
      

  8.   

    utf8_general_ci 
    你字段用这个编码????
      

  9.   

    utf8_general_ci 
    你字段用这个编码????
    MYSQL  的编码是继承上一级的,数据库 表 字段 都是 utf8_general_ci文件全部保存 成UTF-8 
    并且 查询前 加 mysql_query("set names 'utf8'"); 
    这样做的话  在ASP + MSSQL 已经可以正常了 :>>
      

  10.   

    header('Content-type: text/html; charset=utf-8'); 
    mysql_query("set names 'utf8'"); -----------上面的两个均是正确的,你原文里写的不对,改下试试
      

  11.   

    所有涉及到编码的地方都要一致
    并且加上header('Content-type: text/html; charset=utf-8');如果实在不行,你就只好使用程序转换了!
      

  12.   

    回楼上几位前辈:按你们的做还是乱.我不知道程序转换是怎么操作.我的数据重新建过丢掉以前的数据也不行.是中文的就乱 加 mysql_query("set names 'utf8'");  保存进数据库是正常的中文 但显示出来就乱了 我确定那些个字段是 utf8_general_ci 的
    如图:
    http://www.papozhe.com/demo/ln.jpg
      

  13.   

    你的common文件是GB2312的编码
    你可以查下这个文件编码,改改试试文件之间包含应该使用同一编码最好
      

  14.   

    晕。。你干嘛显示数据的时候要加htmlentities呀
    去掉就好了
      

  15.   

    谢谢楼上几位结贴了特别感谢 wangbo_wb !!!!!!!!!!!!我查了一下,原因看这个 htmlentities 和 htmlspecialchars 的区别http://hi.baidu.com/dugu2008/blog/item/d075d40fab2dd9e8aa6457d2.html
      

  16.   

    呵呵,这个倒没注意到你用了 htmlentities
      

  17.   

    折腾了我一天了.................感谢 wangbo_wb 感谢 chinmo