确保三码合一就可以了..
文昌网站建设公司创新互联建站,文昌网站设计制作,有大型网站制作公司丰富经验。已为文昌上千余家提供企业网站建设服务。企业网站搭建\成都外贸网站建设要多少钱,请找那个售后服务好的文昌做网站的公司定做!
第一个是数据库的字符集
第二个就是存进去的时候字符集
第三个就是显示的时候的字符集
这三个都有可能造成乱码;
第一个 举例是:如果你插入的时候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能乱码了.
第二种情况就是你插入正确 但你查询的时候以UTF8查询出来,但你在HTML页面里设置编码如果非UTF8那么也有可能造成乱码.
其实,只要注意文件编写的时候编码、数据库的编码一般就不会有这个问题的,但是,比如你用DW(dwcs4貌似没有这个现象)打开文件,它会以默认的编码读取,一旦你保存了,那就完了,用EditPlus打开之后,右下角有编码提示,如果发现不对,另存为,覆盖一下,就可以了
数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。
事实上MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default-character-set和[mysqld]里的default-character-set来分别设定默认时候客户端连接和数据库内部所采用的编码。上面指定的编码其实是MYSQL客户端连接服务器时候的命令行参数character_set_client,来告诉MYSQL服务器接受到的客户端数据是什么编码的,而不是采用默认编码。
转自:
你的问题提的比较简单,实际上呢,产生乱码的原因有很多。
最主要的是数据库的问题,在安装环境的时候就要选好字符集,然后
在调用数据库的时候使用相同的字符集。
这里有一个gb2312的数据库链接函数。供参考
function
db_connect()
{
$result=new
mysqli('localhost','root','你的密码','你的数据库名');
$result-query("set
names
'gb2312'");//字符集
if(!$result)
return
false;
return
$result;
}
是你的页面
编码
有问题!
你这个是不是
还没有用到
数据库
啊?
那应该就是
你的
IE浏览器的
编码
跟你
页面的编码不统一!
你应该先判断你的
页面是
什么编码
然后再把
IE的编码换成
你的页面
编码!那就可以了!