大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
解决乱码有几种方式:
创新互联专业为企业提供天水网站建设、天水做网站、天水网站设计、天水网站制作等企业网站建设、网页设计与制作、天水企业网站模板建站服务,十载天水做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
在读取数据库的时候设置连接编码:mysql_query("set
names
utf8");
在读取数据库的php文件的头部加:header("Content-type:text/html;charset=utf-8");
php文件不是utf8格式的编码,需要转化。用notpad++文本编辑器打开php文件,点击菜单中的“格式”,查看是否是“以utf8
无bom格式编码”,不是的话请转成此格式。
html格式的在头部加上:meta
http-equiv="Content-Type"
content="text/html;
charset=utf-8"
/
你看看你的是哪一种情况,都对比做的一下,还不行在问我。
一般来说,乱码问题其实也就是编码不一致导致的。因此,要解决PHP中文乱码问题,解决步骤有如下几步:
1. 页面声明的编码 与 数据库内部编码 一致
比如: 你的网页里设置 charset = gb2312,然而,你的数据库使用utf-8,那么,如果不进行iconv转换的话,显示出来可能就有问题。
2. 页面文件的编码 与 页面声明的编码 一致
比如,你的网页文件为 test.php,该文件用 UTF-8B 格式保存,而如果你的网页里设置 charset = gb2312,那么可能显示也不正常。
从你的问题描述来看,“PHP中非数据库导出的部分 其中文显示正常 ”,据此可以确定页面文件编码与页面声明编码一致,那么,问题原因就在于:
页面声明的编码 与 数据库内部编码 不一致造成的。
你可以查看下,你的 数据库编码格式 与 网页定义的编码。
access的中文版默认是GBK格式的,是无法改变字符类型的,所以用php读取的时候会乱码。
解决方法是:使用iconv转换
一、使用 iconv函数制作一个转码的自定义从GBK转到UTF-8的函数,如以下代码:
function enc($c){return iconv('gbk','utf-8',$c);}
二、为了写入数据库的编码是符合数据库需要的,所以我们还要制作一个从UTF-8转向GBK的函数:
function dec($c){return iconv('utf-8','gb2312',$c);}
制作好了转码函数,接下就是正常使用了。在从数据库里面调数据显示在页面的时候使用enc()函数,从页面提交数据到数据库时使用dec()函数,这样就可以很好的解决PHP使用UTF-8编码,ACCESS使用系统默认编码的问题了。
你的数据库是什么编码的?默认的latin编码是不支持汉字的,改成utf8或者utf8mb4编码,然后你的PHP文件编码也使用utf8编码
看一下前端文件的编码格式,是不是gb2312。如果是,就改前端html文件的编码格式为utf8,如果不是,再看看数据库保存的编码格式。总之,编码格式一致,就不会出现乱码。