php查询数据库乱码 sql查询数据库中的乱码数据

PHP读取Access数据库 出乱码

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使用系统默认编码的问题了。

有关PHP 数据库乱码的问题

按以下步骤检查处理。

(1)HTML编码指定是否正确?检查head段中是否包含以下

meta

http-equiv="Content-type"

content="text/html;

charset=utf-8"

/

(2)检查HTML文件本身的编码有无问题。

(3)查询数据库之前设置编码。

$sql

=

"set

names

utf8";

mysql_query($sql,$local_conn);

(4)检查数据库编码及数据表及字段编码是否均为UTF8。注意,数据库编码及表编码及字段编码不是一个概念。

php数据库显示乱码~~~怎么办~~~

这个可能是你在安装环境的时候出现了问题,在安装mysql的时候,数据库默认的不是gb2312,是西欧字符,建议你重新安装数据库,或是使用wampsever集成安装环境,默认数据库是utf8的,只要你建的数据库整理为utf8

网页文件也保存为utf8的

(不要bom头的那种)以后写php就很少出现问题啦。要是在php文件的最上面一行再加上这么一句代码,?php

header("Content-Type:text/html;

charset=utf-8");?,那出现问题的几率就更小了。

用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?

数据库采用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服务器接受到的客户端数据是什么编码的,而不是采用默认编码。

转自:

php数据库中文乱码是怎么造成的?

确保三码合一就可以了..

第一个是数据库的字符集

第二个就是存进去的时候字符集

第三个就是显示的时候的字符集

这三个都有可能造成乱码;

第一个 举例是:如果你插入的时候用的是GB2312 ,但你表中的default charset是utf8 那么,就有可能乱码了.

第二种情况就是你插入正确 但你查询的时候以UTF8查询出来,但你在HTML页面里设置编码如果非UTF8那么也有可能造成乱码.


当前名称:php查询数据库乱码 sql查询数据库中的乱码数据
转载来于:http://pwwzsj.com/article/dodeodp.html