重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这个可能是你在安装环境的时候出现了问题,在安装mysql的时候,数据库默认的不是gb2312,是西欧字符,建议你重新安装数据库,或是使用wampsever集成安装环境,默认数据库是utf8的,只要你建的数据库整理为utf8
创新互联主营海南网站建设的网络公司,主营网站建设方案,重庆APP开发公司,海南h5重庆小程序开发搭建,海南网站营销推广欢迎海南等地区企业咨询
网页文件也保存为utf8的
(不要bom头的那种)以后写php就很少出现问题啦。要是在php文件的最上面一行再加上这么一句代码,?php
header("Content-Type:text/html;
charset=utf-8");?,那出现问题的几率就更小了。
中文乱码问题经常会出现
1、数据库、数据表、字段 编码格式要保持一致
2、如果在doc界面录入数据,要保持当前编码格式与数据表编码格式一致
3、php读取数据显示,要保持文件的编码格式、html页面的编码格式同数据库一致,编码格式为utf-8或gb2312或gbk
4、php连接数据库之后mysql_query('set names gbk');
5、iconv("UTF-8","gbk",$str); 字符转码,保持一致
出现乱码肯定就是编码不对喽。一般注意编码的地方有几个。最好都保持一致。
1、数据库编码
2、文件编码
3、文件保存的格式编码
都保持一致的话不会出现乱码的。还有就是支持中文最好用utf-8
你看看你的php页面是什么编码。查看方法可以用editplus打开。点file-save as保存为utf-8再试试。
请将数据库的编码,表的编码以及字段的编码与网页代码的编码保持一致。
另外注意文件本身的编码与html代码头meta中的编码说明保持一致。
那你看看是不是在连接数据库的时候采用了utf8格式,语法如mysql_query('set
names
utf8');
单双引号的问题
将 '$this-ecoding' 改成 "$this-ecoding" 就可以了。在php中,单引号中的内容不会被转义,也就是说 ‘$this-ecoding' 只是字符串$this-ecoding,并不是变量; 双引号中的变量会被转义。
你的数据库是什么编码的?默认的latin编码是不支持汉字的,改成utf8或者utf8mb4编码,然后你的PHP文件编码也使用utf8编码