php数据库编码
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource
警告:mysql_fetch_array():支持的参数不是一个有效的 MySQL 结果资源。
从错误提示信息来看,应该是
$this->result = mysql_query($sql, $this->conn); // 执行查询语句
这一句执行的结果不正确导致的。
建议:
1. 查看下sql语句是不是正确。
2. 查看 数据库编码 与 html文件 、 html 显示编码三者是否一致。
㈡ php 数据库编码问题 输出乱码
数据库存储编码是GBK,网页编码是utf-8。
先用iconv得到utf8的时间,再按照“淋湿的bird ”的做法:date("Y-m-d",$userregtime),
㈢ php 查询 数据库 表 的 编码
默认utf8
show create database/table
看CHARSET
㈣ PHP编码问题:数据库中的字符集编码。。。。。
流行的关系数据库系统都支持数据库字符集编码,也就是说在创建数据库时可以指定它自己的字符集设置,数据库的数据以指定的编码形式存储。当应用程序访问数据时,在入口和出口处都会有字符集编码的转换。对于中文数据,数据库字符编码的设置应当保证数据的完整性。GB2312、GBK、UTF-8 等都是可选的数据库字符集编码;当然我们也可以选择 ISO8859-1 (8-bit),只是我们得在应
用程序写数据之前先将 16Bit 的一个汉字或 Unicode 拆分成两个 8-bit 的字符,读数据之后也需要将两个字节合并起来,同时还要判别其中的 SBCS 字符,因此我们并不推荐采用 ISO8859-1 作为数据库字符集编码。这样不但没有充分利用数据库自身的字符集编码支持,而且同时也增加了编程的复杂度。编程时,可以先用数据库管理系统提供的管理功能检查其中的中文数据是否正确。
PHP 程序在查询数据库之前,首先执行 mysql_query("SET NAMES xxxx"); 其中 xxxx 是你网页的编码(charset=xxxx),如果网页中 charset=utf8,则 xxxx=utf8,如果网页中 charset=gb2312,则xxxx=gb2312,几乎所有 WEB 程序,都有一段连接数据库的公共代码,放在一个文件里,在这文件里,加入 mysql_query("SET NAMES xxxx") 就可以了。
SET NAMES 显示客户端发送的 SQL 语句中使用什么字符集。因此,SET NAMES 'utf-8' 语句告诉服务器“将来从这个客户端传来的信息采用字符集 utf-8”。它还为服务器发送回客户端的结果指定了字符集(例如,如果你使用一个 SELECT 语句,它表示列值使用了什么字符集)。
不知道这资料是不是你说的那些。呵呵~~~
㈤ php连MySQL数据库编码问题
也许是数据库的问题,我也遇到过,我用的是wampserver,界面的工具,直接点鼠标就可能建成mysql数据库,建成后导入数据,查询数据库返回面而的是乱码,我遇到的情况是这样的:
1、建库用gbk,如图。
2、导入表及数据时,默认是utf,此处要改成gbk就不是乱码了,如第图底页面,如果是默认的或是其它的字符集,能导入成功但是乱码。另外直接把sql粘贴到sql窗口,也不是乱码。
希望能帮到你,呵呵~
㈥ php数据库编码问题
数据库编码是utf8,但是数据插入时肯定是gb2312的数据
你本身保存的肯定是gb2312的数据
㈦ php与数据库中,都是用的utf8编码,但还是乱码
你的php代码还有请求头的编码和响应头的编码也都要统一成utf8,只控制数据库的编码不行的
㈧ php怎么设置编码
header("Content-type: text/html; charset=utf-8");
另外你的编辑器编码也要对应哦
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。
最近需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符"—"到gb2312时会出错。解决方法很简单,就是在 需要转成的编码后加 "//IGNORE" 也就是iconv函数第二个参数后,如下:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。
㈨ php查询数据库乱码
MySQL和PHP产生乱码的原因:◆MySQL数据库的默认编码是utf8,如果这与你的PHP页面编码不一致,会造成MySQL乱码;◆MySQL创建表,让你选择一个编码,这种编码与你的网页编码不一致,并能也可能造成MySQL乱码;◆MySQL创建表,添加字段,可以选择的编码,这种编码与你的网页编码不一致,也可能会造成MySQL乱码;◆用户提交页面的编码页显示的数据编码不一致,肯定会引起PHP页面乱码;◆BIG5代码页,如用户输入数据的页面,用户输入是gb2312,这将导致100%的PHP页面乱码;◆PHP页面字符集是不正确的;◆PHP连接到MySQL数据库语句指定的编码不正确的。
注:
很多人都持怀疑态度的MySQL版本不一致导致MySQL和PHP乱码相信看过这个节目,你会不会这么认为。通常你看到某些网站中的文字可能有几种编码,如果你看到中国传统的字符,它可能会BIG5编码,有可能是utf-8编码,GB码更容易,是的,编码的中国传统简体,繁体编码的简化字符,我们必须认识到这一点。如果你正在做一个简体编码的网页,编码为GB2312,香港和台湾的传统访问者提交的信息,它可能会导致乱码的解决方法:
网站为utf-8编码,因此可以兼容在世界上的所有字符。如果网站已在运行很长一段时间,有大量的旧数据不能改变简体中文设置,建议设置为GBK编码的页面,GBK和GB2312的区别就在于:GBK显示更多比GB2312简体中国传统要显示的字符代码,只能用GBK字符。 MySQL和PHP产生乱码的了解很清楚的原因,那么解决的办法是不困难的。
MySQL和PHP乱码的解决方法:
如果你安装MySQL的编码不能改变的,我的很多朋友购买虚拟主机建立网站,无权更改MySQL的安装编码,我们可以跳过,因为只要后面的步聚是正确的,同样作为解决垃圾问题。
PHP入门网 - 常见问题解答
㈩ php文件和mysql数据库编码问题
一般来说跟数据库的关系很少,如果你提交的utf8,查询出来还是utf8的所以一般要注意三个地方:发送的编码1.mysql_query("SET NAMES 'gb2312'");2.<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />3.页面的格式:查看格式的方式是:用dw打开,在右下角看 三个位置都正确的话,那就不会有乱码了