是你的页面
编码
有问题!
你这个是不是
还没有用到
数据库
啊?
那应该就是
你的
IE浏览器的
跟你
页面的编码不统一!
你应该先判断你的
页面是
什么编码
然后再把
IE的编码换成
你的页面
编码!那就可以了!
text/html;
还有,在查询数据库时加上:mysql_query(set
names
乱码一直是困扰PHP初学者的一个非常大的问题,现在总结下造成乱码的原因及解决方法:
第三段:数据库编码:比如用的是phpmyadmin 选择数据库后,选择操作选项.下面有一个整理,这里面也要设置成统一的编码;
第四段:表编码:操作和第三点类似.这里就不重复了;
第五段:字段编码:在建表的建字段的时候,有个整理.如果内容有汉字,就一定要改成统一的编码;
第七段: (刚遇到的)本地测试成功后的网站,传到网上去,会有乱码.可能会是在本地导出数据时没有选择正确的编码,所以才会在导入到web上后有乱码问题.
要解决乱码首先需要知道出现乱码的原因:
第一段:PHP+MySQL出现中文乱码的原因.
第二段:解决中文乱码:
① 网页编码设置.一般在HTML代码中的文件头html中加入属性:
①数据库默认编码
CREATE?TABLE?+tablea+(
+id+?INT?NOT?NULL?AUTO_INCREMENT,
+title+?VARCHAR(100)?NULL,
默认情况下,字段的编码同表的编码,但是如果修改了表的编码,字段编码不会同步修改,需要手动修改
--?修改表编码后,查看建表语句
show?create?table?+tablea+;
--?可以看到输出的建表语句中字段单独设置了编码
--?需要手动修改字段编码
ALTER?TABLE?+tablea+?
连接数时设置编码
//?PDO?连接
$db?=?new?PDO('mysql:host=myhost;dbname=test',?'login',?'password',?
);?
//?mysqli连接
通过以上几步操作,基本可以保证数据库使用过程中不会出现乱码
不好意思看错啦 呵呵!
然后是导入旧数据.首先要确定自己的数据文件的编码.如果用phpMyAdmin导入,在界面上有文件编码的选项,一定要和数据文件的编码一致.
这样就可以让旧数据转入新数据库后的编码才是正确的,如果这一步错了,后面不可能得到正确的显示.
然后是自己的程序,在连接后就可以执行一次set names xxx,根据你的网页编码而定.
这样基本就可以保证编码正确了.
你很有可能是导入的数据编码已经不对了. 那就没办法啦!