php中json中文处理函数(中文显示与中文编码)

 更新时间:2016年11月25日 15:40  点击:2041
php中json中文处理功能对于初学者来说是一个比较好用的函数,如果我们直接使用json处理函数来做你会发现中文会变成了null了,如果我们转换在uft8之后会显示的是中文的字符编码了,下面我整理两个工作中用到的函数,希望对各位有帮助。

例子

 代码如下 复制代码

function encodeConvert($str,$fromCode,$toCode)
{
 if(strtoupper($toCode) == strtoupper($fromCode)) return $str;

 if(is_string($str)){
  if(function_exists('mb_convert_encoding')){
   return mb_convert_encoding($str,$toCode,$fromCode);
  }
  else{
   return iconv($fromCode,$toCode,$str);
  }
 }
 elseif(is_array($str)){   
  foreach($str as $k=>$v){    
   $str[$k] = encodeConvert($v,$fromCode,$toCode);
  }
  return $str;
 }
 return $str;

}


例子

 代码如下 复制代码

/**************************************************************
 *
 *  将数组转换为JSON字符串(兼容中文)
 *  @param  array   $array      要转换的数组
 *  @return string      转换得到的json字符串
 *  @access public
 *
 *************************************************************/
function JSON($array) {
    arrayRecursive($array, 'urlencode', true);
    $json = json_encode($array);
    return urldecode($json);
}
/**************************************************************
 *
 *  使用特定function对数组中所有元素做处理
 *  @param  string  &$array     要处理的字符串
 *  @param  string  $function   要执行的函数
 *  @return boolean $apply_to_keys_also     是否也应用到key上
 *  @access public
 *
 *************************************************************/
function arrayRecursive(&$array, $function, $apply_to_keys_also = false){
    static $recursive_counter = 0;
    if (++$recursive_counter > 1000) {
        die('possible deep recursion attack');
    }
    foreach ($array as $key => $value) {
        if (is_array($value)) {
            arrayRecursive($array[$key], $function, $apply_to_keys_also);
        } else {
            $array[$key] = $function($value);
        }                                       
        if ($apply_to_keys_also && is_string($key)) {
            $new_key = $function($key);
            if ($new_key != $key) {
                $array[$new_key] = $array[$key];
                unset($array[$key]);
            }
        }
    }
    $recursive_counter--;
}


测试例子

 代码如下 复制代码

$arr = array ( 

  array ( 

      'catid' => '4', 

      'catname' => '一聚教程网', 

      'meta_title' => '一聚教程网2' 

    ), 

    array ( 

      'catid' => '55', 

      'catname' => 'php教程', 

      'meta_title' => 'http://www.111cn.net', 

    ) 

); 
                                                                          
echo JSON($arr);


echo  json_encode(encodeConvert($arr,'gb2312','utf-8'));/*  */

输出结果如下


[{"catid":"4","catname":"一聚教程网","meta_title":"一聚教程网2"},{"catid":"55","catname":"php教程","meta_title":"http://www.111cn.net"}]

[{"catid":"4","catname":"\u4e00\u805a\u6559\u7a0b\u7f51","meta_title":"\u4e00\u805a\u6559\u7a0b\u7f512"},{"catid":"55","catname":"php\u6559\u7a0b","meta_title":"http:\/\/www.111cn.net"}] 

下面是一个简单的留言板例子,包括创建mysql数据表与连接mysql数据库然后对数据表的查询,提交保存数据与数据删除功能,这其实就是一个最基本的留言板功能了,下面直接上例子。

首先数据库的SQL如下:

 代码如下 复制代码

-- -- 表的结构 `message` --

CREATE TABLE `message` (   `id` int(10) NOT NULL auto_increment,   `user` varchar(25) character set utf8 NOT NULL,
`title` varchar(50) character set utf8 NOT NULL,   `content` tinytext character set utf8 NOT NULL,   `lastdate` date NOT NULL,

PRIMARY KEY  (`id`) ) ENGINE=InnoDB  DEFAULT CHARSET=gbk AUTO_INCREMENT=11 ;

程序代码如下:

首先创建config.php,代码如下:

 代码如下 复制代码

<?php $conn = @mysql_connect("localhost","root","") or die("数据库连接出错!");
mysql_select_db("lyb",$conn); mysql_query("set names utf8"); ?>

然后创建index.php,代码如下:

 代码如下 复制代码

<form action="index.php" method="post"> <table border="1" align="center" > 用 www.111cn.net 户:<input type="text" name="user" /><br>
标题:<input type="text" name="title" /><br /> 内容:<textarea name="content"></textarea><br />

<input type="submit" name="submit" value="php教程" /></table> </form>

接受提交数据保存到数据表中

 

 代码如下 复制代码

<?php include("config.php");

if($_POST['submit'] && !empty($_POST['title'])&& !empty($_POST['user'])&& !empty($_POST['content']))

{ $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

mysql_query($sql); //echo "成功"; }?>

查询留言记录

 代码如下 复制代码

<table width=500 border="1" align="left" cellpadding="5" cellspacing="1" bgcolor="#add3ef">

<?php $sql="select * from message order by id desc"; $query=mysql_query($sql); while($row=mysql_fetch_array($query)){ ?>

<tr bgcolor="#eff3ff"> <td>标题:<?php echo $row[title];?> 用户:<?php echo $row[user];?></td> </tr> <tr bgColor="#ffffff">

<td>内容:<?php echo $row[content];?></td> </tr>

<?php } ?>

原理分析

先来看看入库吧,这个就是最基础的没有进行任何数据判断处理了

 代码如下 复制代码

if($_POST['submit'] && !empty($_POST['title'])&& !empty($_POST['user'])&& !empty($_POST['content']))

{ $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

mysql_query($sql); //echo "成功"; }?>

判断用户提交过来的数据是不是不为空

$_POST['submit'] && !empty($_POST['title'] && !empty($_POST['user'])&& !empty($_POST['content'] (这里主要是介绍到所有需要填写的不为空了)

安全分析,这个很容易给大家实现sql注入了,因为没进行任何过滤处理了哦,只要网随便搜索一段注入代码就可以成功注入了,同时可以重复无限提交数据

 代码如下 复制代码

{ $sql="insert into message (id,user,title,content,lastdate) values ('','$_POST[user]','$_POST[title]','$_POST[content]',now())";

这一是保存到数据库,但没进行任何安全处理,一般情况我们不提倡直接把$_POST[user]入库的,是需要经过处理之后再进入变量传递进行入库哦,


查询数据库

 代码如下 复制代码

$sql="select * from message order by id desc";
$query=mysql_query($sql);
while($row=mysql_fetch_array($query))

这三句代码实现了数据库查询了,其实也是非常的简单的,我们只是处理了查询并没有任务一些技术处理,如判断是否有值或一次读取多少条记录。

下面整理了一些关于PHP计算两个时间差的例子,希望这些例子能帮助你解决你在日期时间差之间的一些困扰哦,下面我们一起来看看吧。

例子1

 代码如下 复制代码

<?php
//$startdate是开始时间,$enddate是结束时间

$startdate="2011-3-15 11:50:00";
$enddate="2012-12-12 12:12:12";
$date=floor((strtotime($enddate)-strtotime($startdate))/86400);
$hour=floor((strtotime($enddate)-strtotime($startdate))%86400/3600);
$minute=floor((strtotime($enddate)-strtotime($startdate))%86400/60);
$second=floor((strtotime($enddate)-strtotime($startdate))%86400%60);
echo $date."天<br>";
echo $hour."小时<br>";
echo $minute."分钟<br>";
echo $second."秒<br>";
 ?>

例子2

 代码如下 复制代码

<?php
$one = strtotime('2011-05-08 07:02:40');//开始时间 时间戳
$tow = strtotime('2012-12-25 00:00:00');//结束时间 时间戳
$cle = $tow - $one; //得出时间戳差值

/* 这个只是提示
echo ceil($cle/60); //得出一共多少分钟
echo ceil($cle/3600); //得出一共多少小时
echo ceil($cle/3600/24); //得出一共多少天
*/
/*ceil()函数,即进一法取整*/
$d = cell($cle/3600/24);
$h = cell(($cle%(3600*24))/3600);  //%取余
$m = cell(($cle%(3600*24))/60);

echo "两个时间相差 $d 天 $h 小时 $m 分"
?>

总结,两个例子都使用到了strtotime函数把日期转换在时间戳之后再除以86400等操作来算出两个日期之间相差多少时间,从天数据到秒都计算机出来了。

下面转一站长写的PHP mysql备份与恢复的类实例了,这里面主要用到的是一个数据备份类与一个文件上传类了,我们结合它们两个就可以实现数据备份与文件恢复上传功能了,具体方法如下图所示。

今天推荐的精品PHP代码就是mysql备份与恢复的类了,在一般的PHP网站中都会有在线mysql备份与恢复,这样做的好处是不用每次备份都要使用 phpmyadmin 或者是客户端的工具了,使用时将备份恢复的类 dbback.class.php 进行实例化就可以使用了。

这里直接附上该类作者的说明了:该类适用于小型的网站的数据库备份,内置MYSQL连接,只需要简单的配置数据库连接及存贮备份的位置即可,类实例化并且连接数据库以后可执行以下操作:

 代码如下 复制代码

* get_db_table($database) 取得所有数据表

* export_sql($table,$subsection=0)) 生成sql文件,注意生成sql文件只保存到服务器目录,不提供下载

* import_sql($dir) 恢复数据只导入服务器目录下的sql文件

包里作者文件的说明如下:

一、之前有发过一个mysql的备份类,但是只有备份功能,今天花了点时间,对该类进行重写, 1.新增读取数据库内所有表格 2.新增mysql在线恢复 3.修改了mysql的下载试为保存到服务器,该类具有很强的灵活性与易用性,附上两张实际开发中的应用效果.

二、另外附加前几天写的一个文件上传类,类中有附说明

 代码如下 复制代码

<?php
 /**
 * 类名:upfile
 * 作用:处理文件上传
 * 说明,该类处理单个或者多个文件上传,使用该类时,只需要实列化该类
 * 例:
 * $up = upfile()
 * $up->update_file($_FILE['filename'])
 *
 * $up->update_file   函数返回一个数组,如果是多文件上传,则为多维数据。
 * 数组的内容:
 * $fileInfo['file_size']   上传文件的大小
 * $fileInfo['file_suffix'] 上传文件的类型
 * $fileInfo['file_name']   上传文件的名字
 * $fileInfo['error']     上传文件产生的错误
 *
 * @author 赵红健[游天小虾]
 * email:328742379@qq.com
 * qq交流群:69574955 聚义堂-网页制作交
 */
class upfile {
 public $fCount = 1;           //上传文件的数量
 public $fType  = array('jpg','jpeg','gif','png');  //文件格式
 public $fSize  = 1024;          //文www.111cn.Net件大小单位kb
 public $fDir   = 'test/';         //文件存放目录
 public $errorMsg = '';          //产生的临时错误信息�ļ��ϴ�����Ĵ���

 /**
  *函数名:get_tmp_file($putFile)
  *作用:取得上传的临时文件名
  *@param array $putFile
  *@return string $upImg 返回临时文件名
  */
  function get_tmp_file($putFile){
  if($this->fCount == 1){
   $tmpFile = $putFile['tmp_name'];
  }else{
   for($i=0;$i<$this->fCount;$i++){
    $tmpFile[] = $putFile['tmp_name'][$i];
   }
  }
  return $tmpFile;
  }

 /**
  *函数名:get_suffix($fileName)
  *作用:取得文件的后缀名
  *@param file $fileName
  *@return string $suffixName 返回后缀名
  */
  function get_suffix($fileName){
  $link = pathinfo($fileName);
     $suffixName = strtolower($link['extension']);
     return $suffixName;
  }

 /**
  *验证文件大小
  *@author 赵红健
  *@param $fileSize
  *@return booln
  */
 function check_file_size($fileSize){
  $this->errorMsg = '';
  if($fileSize/1000 > $this->fSize){
   $this->errorMsg = '警告:文件超出大小!';
   return false;
  }else{
   return true;
  }
 }

 /**
  *验证文件类型是否合法
  *@author 赵红健
  *@param $fileSuffix
  *@return booln
  */
 function check_file_suffix($fileSuffix){
   $this->errorMsg = '';
   if(!in_array($fileSuffix,$this->fType)){
    $this->errorMsg = '警告:文件类型不在允许范围内!';
    return false;
   }else{
    return true;
   }
 }

 /**
  *移动临时文件
  *@author 赵红健
  *@param $fileSuffix
  *@return booln
  */
 function move_temp_file($tmpFile,$targetFile){
   $this->errorMsg = '';
   if(!move_uploaded_file($tmpFile,$targetFile)){
    $this->errorMsg = '警告:文件移动失败!';
    return false;
   }else{
    return true;
   }
 }


     /**
   *函数名:update_file($putFile)
   *作用:上传文件
   *@param array $putFile
   *@return array 文件信息
   */
    function update_file($putFile){
   $tmpFile = $this->get_tmp_file($putFile);
   if(!file_exists($this->fDir)){
       $this->errorMsg[] = '错误:目录'.$this->fDir.'不存在';
    return $this->errorMsg;
   }
   $this->fDir = substr($this->fDir,strlen($this->fDir)-1,1)=='/'?$this->fDir:$this->fDir.'/';
   if(!is_array($putFile['size'])){
    $fileInfo['file_size'] = $putFile['size'];
    if(!$this->check_file_size($fileInfo['file_size'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }
    $fileInfo['file_suffix'] = $this->get_suffix($putFile['name']);
    if(!$this->check_file_suffix($fileInfo['file_suffix'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }

    $fileInfo['file_name']   = date('ymdhms').'.'.$fileInfo['file_suffix'];
    if(!$this->move_temp_file($tmpFile,$this->fDir.$fileInfo['file_name'])){
     $fileInfo['error'] = $this->errorMsg;
     return $fileInfo;
    }
    return $fileInfo;

   }else{
    for($i=0;$i<$this->fCount;$i++){
     $fileInfo[$i]['file_size'] = $putFile['size'][$i];
     if(!$this->check_file_size($fileInfo[$i]['file_size'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }

     $fileInfo[$i]['file_suffix'] = $this->get_suffix($putFile['name'][$i]);
     if(!$this->check_file_suffix($fileInfo[$i]['file_suffix'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }

     $fileInfo[$i]['file_name']  = date('ymdhms').rand().'.'.$fileInfo[$i]['file_suffix'];
     if(!$this->move_temp_file($tmpFile[$i],$this->fDir.$fileInfo[$i]['file_name'])){
      $fileInfo[$i]['error'] = $this->errorMsg;
      continue;
     }
     }
    return $fileInfo;
   }
    }
}

?>

备份类

 代码如下 复制代码

 <?php
 /**
  * 说明,该类适用于小型的网站的数据库备份,内置MYSQL连接,只需要简单配置数据连接
  * 及存贮备份的位置即可。
  * 类实列化并且连接数据库以后可执行以下操作
  * get_db_table($database)    取得所有数据表
  * export_sql($table,$subsection=0))   生成sql文件,注意生成sql文件只保存到服务器目录,不提供下载
  * import_sql($dir)     恢复数据只导入服务器目录下的sql文件
  * 该类制作简单,可任意传播,如何您对该类有什么提议,请发送邮件给小虾
  * @author 赵红健[游天小虾]
  * email:328742379@qq.com
  * qq交流群:69574955 聚义堂-网页制作交
  */

class data {
 public   $data_dir    = "class/"; //备份文件存放的路径
 public   $transfer     ="";   //临时存放sql[切勿不要对该属性赋值,否则会生成错误的sql语句]

/**
 *数据库连接
 *@param string $host 数据库主机名
 *@param string $user 用户名
 *@param string $pwd  密码
 *@param string $db   选择数据库名
 *@param string $charset 编码方式
 */
 function connect_db($host,$user,$pwd,$db,$charset='gbk'){
  if(!$conn = mysql_connect($host,$user,$pwd)){
   return false;
  }
  mysql_select_db($db);
  mysql_query("set names $charset");
  return true;
 }

/**
 * 生成sql语句
 * @param   $table     要备份的表
 * @return  $tabledump 生成的sql语句
 */
 public function set_sql($table,$subsection=0,&$tableDom=''){
  $tableDom .= "DROP TABLE IF EXISTS $tablen";
  $createtable = mysql_query("SHOW CREATE TABLE $table");
  $create = mysql_fetch_row($createtable);
  $create[1] = str_replace("n","",$create[1]);
  $create[1] = str_replace("t","",$create[1]);

  $tableDom  .= $create[1].";n";

  $rows = mysql_query("SELECT * FROM $table");
  $numfields = mysql_num_fields($rows);
  $numrows = mysql_num_rows($rows);
  $n = 1;
  $sqlArry = array();
  while ($row = mysql_fetch_row($rows)){
     $comma = "";
     $tableDom  .= "INSERT INTO $table VALUES(";
     for($i = 0; $i < $numfields; $i++)
     {
    $tableDom  .= $comma."'".mysql_escape_string($row[$i])."'";
    $comma = ",";
     }
    $tableDom  .= ")n";
     if($subsection != 0 && strlen($this->transfer )>=$subsection*1000){
       $sqlArry[$n]= $tableDom;
       $tableDom = ''; $n++;
     }
  }
  return $sqlArry;
   }

/**
 *列表数据库中的表
 *@param  database $database 要操作的数据库名
 *@return array    $dbArray  所列表的数据库表
 */
 public function get_db_table($database){
  $result = mysql_list_tables($database);
  while($tmpArry = mysql_fetch_row($result)){
   $dbArry[]  = $tmpArry[0];
  }
  return $dbArry;
 }

/**
 *验证目录是否有效
 *@param diretory $dir
 *@return booln
 */
 function check_write_dir($dir){
  if(!is_dir($dir)) {@mkdir($dir, 0777);}
  if(is_dir($dir)){
   if($link = opendir($dir)){
    $fileArry = scandir($dir);
    for($i=0;$i<count($fileArry);$i++){
     if($fileArry[$i]!='.' || $fileArry != '..'){
      @unlink($dir.$fileArry[$i]);
     }
    }
   }
  }
  return true;
 }
/**
 *将数据写入到文件中
 *@param file $fileName 文件名
 *@param string $str   要写入的信息
 *@return booln 写入成功则返回true,否则false
 */
 private function write_sql($fileName,$str){
  $re= true;
  if(!@$fp=fopen($fileName,"w+")) {$re=false; echo "在打开文件时遇到错误,备份失败!";}
  if(!@fwrite($fp,$str)) {$re=false; echo "在写入信息时遇到错误,备份失败!";}
  if(!@fclose($fp)) {$re=false; echo "在关闭文件 时遇到错误,备份失败!";}
  return $re;
 }

/**
 *生成www.111cn.net sql文件
 *@param string $sql sql    语句
 *@param number $subsection 分卷大小,以KB为单位,为0表示不分卷
 */
     public function export_sql($table,$subsection=0){
      if(!$this->check_write_dir($this->data_dir)){echo '您没有权限操作目录,备份失败';return false;}
      if($subsection == 0){
       if(!is_array($table)){
    $this->set_sql($table,0,$this->transfer);
   }else{
    for($i=0;$i<count($table);$i++){
     $this->set_sql($table[$i],0,$this->transfer);
    }
   }
       $fileName = $this->data_dir.date("Ymd",time()).'_all.sql';
       if(!$this->write_sql($fileName,$this->transfer)){return false;}
      }else{
       if(!is_array($table)){
    $sqlArry = $this->set_sql($table,$subsection,$this->transfer);
    $sqlArry[] = $this->transfer;
   }else{
    $sqlArry = array();
    for($i=0;$i<count($table);$i++){
     $tmpArry = $this->set_sql($table[$i],$subsection,$this->transfer);
     $sqlArry = array_merge($sqlArry,$tmpArry);
    }
    $sqlArry[] = $this->transfer;
   }
       for($i=0;$i<count($sqlArry);$i++){
        $fileName = $this->data_dir.date("Ymd",time()).'_part'.$i.'.sql';
        if(!$this->write_sql($fileName,$sqlArry[$i])){return false;}
       }
      }
      return true;
    }
/**
 *载入sql文件
 *@param diretory $dir
 *@return booln
 *注意:请不在目录下面存放其它文件,或者目录
 *以节省恢复时间
 */
    public function import_sql($dir){
  if($link = opendir($dir)){
   $fileArry = scandir($dir);
    $pattern = "_part[0-9]+.sql$|_all.sql$";
   for($i=0;$i<count($fileArry);$i++){
    if(eregi($pattern,$fileArry[$i])){
     $sqls=file($dir.$fileArry[$i]);
     foreach($sqls as $sql){
      str_replace("r","",$sql);
      str_replace("n","",$sql);
      if(!mysql_query(trim($sql))) return false;
     }
    }
   }
   return true;
  }
    }

}

//$d = new data();

//连接数据库
//if(!$d->connect_db('localhost','root','','guestbook','gbk')){
// echo '数据库连接失败';
//}

//查找数据库内所有数据表
//$tableArry = $d->get_db_table('guestbook');

//备份并生成sql文件
//if(!$d->export_sql($tableArry)){
// echo '备份失败';
//}else{
// echo '备份成功';
//}

//恢复导入sql文件夹
//if($d->import_sql($d->data_dir)){
// echo '恢复成功';
//}else{
// echo '恢复失败';
//}
?>

一个PHP验证Email和IP地址例子,非常的简单好用希望对各位朋友会带来帮助哦。

检查一个用户是否输入了一个有效的email地址,最简单的方法就是使用PHP的内建函数filter_var(),它能够检验email地址。

 代码如下 复制代码

<?php

filter_var('sgamgee@example.com', FILTER_VALIDATE_EMAIL);

// Returns "sgamgee@example.com". This is a valid email address.

filter_var('sauron@mordor', FILTER_VALIDATE_EMAIL);

// Returns boolean false! This is *not* a valid email address.

?>

[!--infotagslink--]

相关文章

  • js URLdecode()与urlencode方法支持中文解码

    下面来介绍在js中来利用urlencode对中文编码与接受到数据后利用URLdecode()对编码进行解码,有需要学习的机友可参考参考。 代码如下 复制代码 ...2016-09-20
  • php正确禁用eval函数与误区介绍

    eval函数在php中是一个函数并不是系统组件函数,我们在php.ini中的disable_functions是无法禁止它的,因这他不是一个php_function哦。 eval()针对php安全来说具有很...2016-11-25
  • php中eval()函数操作数组的方法

    在php中eval是一个函数并且不能直接禁用了,但eval函数又相当的危险了经常会出现一些问题了,今天我们就一起来看看eval函数对数组的操作 例子, <?php $data="array...2016-11-25
  • Python astype(np.float)函数使用方法解析

    这篇文章主要介绍了Python astype(np.float)函数使用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-06-08
  • Python中的imread()函数用法说明

    这篇文章主要介绍了Python中的imread()函数用法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-16
  • C# 中如何取绝对值函数

    本文主要介绍了C# 中取绝对值的函数。具有很好的参考价值。下面跟着小编一起来看下吧...2020-06-25
  • C#学习笔记- 随机函数Random()的用法详解

    下面小编就为大家带来一篇C#学习笔记- 随机函数Random()的用法详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧...2020-06-25
  • 金额阿拉伯数字转换为中文的自定义函数

    CREATE FUNCTION ChangeBigSmall (@ChangeMoney money) RETURNS VarChar(100) AS BEGIN Declare @String1 char(20) Declare @String2 char...2016-11-25
  • Android开发中findViewById()函数用法与简化

    findViewById方法在android开发中是获取页面控件的值了,有没有发现我们一个页面控件多了会反复研究写findViewById呢,下面我们一起来看它的简化方法。 Android中Fin...2016-09-20
  • C++中 Sort函数详细解析

    这篇文章主要介绍了C++中Sort函数详细解析,sort函数是algorithm库下的一个函数,sort函数是不稳定的,即大小相同的元素在排序后相对顺序可能发生改变...2022-08-18
  • PHP用strstr()函数阻止垃圾评论(通过判断a标记)

    strstr() 函数搜索一个字符串在另一个字符串中的第一次出现。该函数返回字符串的其余部分(从匹配点)。如果未找到所搜索的字符串,则返回 false。语法:strstr(string,search)参数string,必需。规定被搜索的字符串。 参数sea...2013-10-04
  • 关于Mysql中文乱码问题该如何解决(乱码问题完美解决方案)

    最近两天做项目总是被乱码问题困扰着,这不刚把mysql中文乱码问题解决了,下面小编把我的解决方案分享给大家,供大家参考,也方便以后自己查阅。首先:用show variables like “%colla%”;show varables like “%char%”;这两条...2015-11-24
  • PHP函数分享之curl方式取得数据、模拟登陆、POST数据

    废话不多说直接上代码复制代码 代码如下:/********************** curl 系列 ***********************///直接通过curl方式取得数据(包含POST、HEADER等)/* * $url: 如果非数组,则为http;如是数组,则为https * $header:...2014-06-07
  • php中的foreach函数的2种用法

    Foreach 函数(PHP4/PHP5)foreach 语法结构提供了遍历数组的简单方式。foreach 仅能够应用于数组和对象,如果尝试应用于其他数据类型的变量,或者未初始化的变量将发出错误信息。...2013-09-28
  • C#读取中文文件出现乱码的解决方法

    这篇文章主要介绍了C#读取中文文件出现乱码的解决方法,涉及C#中文编码的操作技巧,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • C语言中free函数的使用详解

    free函数是释放之前某一次malloc函数申请的空间,而且只是释放空间,并不改变指针的值。下面我们就来详细探讨下...2020-04-25
  • Mysql在debian系统中不能插入中文的终极解决方案

    在debian环境下,彻底解决mysql无法插入和显示中文的问题Linux下Mysql插入中文显示乱码解决方案mysql -uroot -p 回车输入密码进入mysql查看状态如下:默认的是客户端和服务器都用了latin1,所以会乱码。解决方案:mysql>use...2013-10-04
  • PHP函数strip_tags的一个bug浅析

    PHP 函数 strip_tags 提供了从字符串中去除 HTML 和 PHP 标记的功能,该函数尝试返回给定的字符串 str 去除空字符、HTML 和 PHP 标记后的结果。由于 strip_tags() 无法实际验证 HTML,不完整或者破损标签将导致更多的数...2014-05-31
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • Windows服务器MySQL中文乱码的解决方法

    我们自己鼓捣mysql时,总免不了会遇到这个问题:插入中文字符出现乱码,虽然这是运维先给配好的环境,但是在自己机子上玩的时候咧,总得知道个一二吧,不然以后如何优雅的吹牛B。...2015-03-15