日期:2014-05-17  浏览次数:20429 次

phpadmin和dreamweaver测试SQL指令 时 中文显示为问号的问题,请php+MySql高手解答
我是用的是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,言出必行。

-------------------------

 

win7x64

Apache 2.2.21

PHP 5.3.8

PHP 扩展: mysqli

MySQL 5.5.16

MySQL 客户端版本: mysqlnd 5.0.8-dev - 20102224 - $Revision: 310735 $

PHPadmin: 3.4.5 
mysql php sql dreamweaver 测试

------解决方案--------------------
需要注意的是:所有对字符集设置的改变,都不影响库中原有的数据
影响的只是改变设置以后的数据
------解决方案--------------------
1、确认php文件问gb2312 编码
2、查询前执行:mysql_query("SET NAMES gb2312");
------解决方案--------------------
分析方法:
1.确认你插入数据库的中文是否为问号。如果是,那就是你插入数据的问题,在运行插入语句前执行:mysql_query("SET NAMES gb2312");
2.如果数据库的数据是正常的,那就是你页面编码错误仔细检查meta信息单词是否正确,也可直接复制网上其他地方源代码,的meta。
3.如果任然未解决,在读取数据库的数据代码前加入:mysql_query("SET NAMES gb2312");
希望我的回答对你有帮助。