我是用的是wamp,Apache+php+MySql 用的phpadmin来给数据库制表的,在phpadmin中我已经将所有字符集调整为gb2312
包括php网页中的首选参数 <meta http-equiv="Content-Type" content="text/html"; charset="gb2312" />,同时也调整了MySQL的编码,数据库里(包括fields、table 中的)的编码为gb2312
但在测试时,网页仍无法显示php部分的中文(显示为问号)
已经查看了cmd中show variables各项的字符集,尝试了分别执行:set character_set_xxxx=gb2312; 即便全显示为gb2312,仍无效; 尝试过增写SET NAMES gb2312 或 在*.sql中增加 SET NAMES gb2312并反复导入导出进行读写, 无效; 也尝试过在my.ini中修改默认 default-character-set=utf8  无效(修改后无法启动); 尝试把所有涉及到的编码统一改为utf-8 也无效。 请高手解答 问题出现在哪里?本人新人,但求明细。如可解决,不胜感激,追加100,言出必行。------------------------- win7x64Apache 2.2.21PHP 5.3.8PHP 扩展: mysqliMySQL 5.5.16MySQL 客户端版本: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $PHPadmin: 3.4.5 
mysqlphpsqldreamweaver测试

解决方案 »

  1.   

    1、确认php文件问gb2312 编码
    2、查询前执行:mysql_query("SET NAMES gb2312");
      

  2.   

    分析方法:
    1.确认你插入数据库的中文是否为问号。如果是,那就是你插入数据的问题,在运行插入语句前执行:mysql_query("SET NAMES gb2312");
    2.如果数据库的数据是正常的,那就是你页面编码错误仔细检查meta信息单词是否正确,也可直接复制网上其他地方源代码,的meta。
    3.如果任然未解决,在读取数据库的数据代码前加入:mysql_query("SET NAMES gb2312");
    希望我的回答对你有帮助。