php数据库访问变慢的一个原因
2015-11-26 09:18
567 查看
中文乱码问题
数据库中存储的内容是一样的
phpmyadmin取出的中文内容,就可以正常显示,但是我自己的Php代码取出来全是问号,我觉得,“一定是我的打开方式不对”
还有就是,在单纯使用php代码访问数据库的过程中,一个明显能让数据库访问卡顿的语句是:
下面转载一个代码 首先获取字符串,查看其ascII码,然后判断其编码方式
数据库中存储的内容是一样的
phpmyadmin取出的中文内容,就可以正常显示,但是我自己的Php代码取出来全是问号,我觉得,“一定是我的打开方式不对”
还有就是,在单纯使用php代码访问数据库的过程中,一个明显能让数据库访问卡顿的语句是:
public function selectF($pid){ //mysql_query("SET NAMES 'UTF8'"); //mysql_query("SET CHARACTER SET UTF8"); $link =$this->dbconnect(); $sqlsf = 'select hrp1000.OBJID,hrp1000.STEXT,hrp1000.KOSTL from hrp1000,hrp1001 where hrp1000.OBJID=hrp1001.OBJID and hrp1001.PLVAR=1 and hrp1000.OTYPE=\'O\' and hrp1001.RELAT=2 and hrp1001.RSIGN=\'A\' and hrp1001.SOBID = \''.$pid.'\''; $this->lastqueryid = mysql_query($sqlsf) or $this->tempshow(LLS('tempdbsqlmis'),''); $datalist = array(); $cnt=0; while(($rs = mysql_fetch_array($this->lastqueryid, MYSQL_ASSOC)) != false) { $datalist[] = $rs; } if(is_resource($this->lastqueryid)) { mysql_free_result($this->lastqueryid); $this->lastqueryid = null; } return $datalist; }
mysql_query("SET NAMES 'UTF8'");的出现,让速度明显变慢
下面转载一个代码 首先获取字符串,查看其ascII码,然后判断其编码方式
function is_gb2312($str) { for($i=0; $i<strlen($str); $i++) { $v = ord( $str[$i] ); if( $v > 127) { if( ($v >= 228) && ($v <= 233) ) { if(($i+2) >= (strlen($str)- 1)) return true; // not enough characters $v1 = ord( $str[$i+1] ); $v2 = ord( $str[$i+2] ); if( ($v1 >= 128) && ($v1 <=191) && ($v2 >=128) && ($v2 <= 191) ) // utf编码 return false; else return true; } } } return true; }
相关文章推荐
- php判断 !==false
- window下创建sftp服务器和链接
- php中用cookie记录浏览历史的例子
- PHP验证函数(包括email,url,日期等等)
- 不用第三方变量交换两个int类型的值 php
- 内核艺术系列:绚丽整个php的zend(1)
- PHP常用字符串函数
- 基于php实现随机合并数组并排序(原排序)
- 优秀PHP工程师难招,原因有哪些?
- PHP如何写扩展
- ubuntu 14.04 VSFTPD 匿名FTP服务器 配置文件
- pureftpd安装配置[总结]
- 在WIN2008R2的IIS7环境下安装PHP5.6.15
- PHP中“简单工厂模式”实例讲解
- FTP服务器
- php输出欢迎语
- 【笔记】设计模式(PHP) - [02]
- mac下xampp运行thinkphp错误403解决方案
- [转]Ubuntu 用vsftpd 配置FTP服务器
- 快速上手php:使用PhpStrom调试php