重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
首先你的php网页要是UTF-8
创新互联是专业的东安网站建设公司,东安接单;提供成都网站设计、网站制作,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行东安网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!
?php header("Content-Type:text/html;charset=UTF-8"); ?
数据库配置公共文件如下:
$host="localhost";
$db_user="root";
$db_pass="root";
$db_name="DB";
$timezone="Asia/Shanghai";
$link=mysql_connect($host,$db_user,$db_pass);
mysql_select_db($db_name,$link);
mysql_query("SET names UTF8");
header("Content-Type: text/html; charset=utf-8");
date_default_timezone_set($timezone); //北京时间
数据库采用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服务器接受到的客户端数据是什么编码的,而不是采用默认编码。
转自:
其实,只要注意文件编写的时候编码、数据库的编码一般就不会有这个问题的,但是,比如你用DW(dwcs4貌似没有这个现象)打开文件,它会以默认的编码读取,一旦你保存了,那就完了,用EditPlus打开之后,右下角有编码提示,如果发现不对,另存为,覆盖一下,就可以了