首页 > 作文

SQL server不支持utf8 php却用utf8的矛盾问题解决方法

更新时间:2023-04-08 15:17:25 阅读: 评论:0

核心代码

function convert2utf8($string)  {    return iconv("gbk","utf-8",$string);  }  function convert2gbk($string)  {    return iconv("utf-8","gbk",$string);  }

当插入数据,或修改数据的时候,把utf-8,转为gbk,存入数据库。

当获取数据的时候,将数据转为utf-8。

这个方法在底层的数据中设计,上层调用即可。

<?phpclass dao_dao extends zend_db_table {  public function returndb(){    return $db = &$this->getadapter();  }  public function getdata($table,$where = fal, $order = 'id asc', $pagesize = fal, $offt = fal, $count = fal, $from = fal, $join = fal, $group = fal) {    $db = &$this->getadapter();    $lect = $db->lect();        if ($where && is_array($where)) {      foreach ($where as $key => $val) {        //print_r($where);        if($val['type']==1){          $lect->where($key, $val['val']);        }el{          $lect->orwhere($key, $val['val']);        }              }     }    if (!$from)      $from = '*';    //echo $lect."<br/>";    if ($pagesize) {      $lect->limit($pagesize, $offt);    }    //echo $lect."<br/>";    if (is_array($order)) {      foreach ($order as $value) {        $lect->order($value);      }    } el {      $lect->order($order);    }    //echo $lect."<br/>";    $lect->from($table, $count ? "count(".$table.".id)" : $from);        if (is_array($group)) {      foreach ($group as $key => $val) {        $lect->group($val);      }      if ($count) {        $result = $db->fetchall($lect);        //echo $lect."<br/>";        return $result;      }    } el {      if ($count) {        $result = $db->fetchone($lect);        //echo $lect."<br/>";        return $result;      }    }    if (is_array($join)) {      foreach ($join as $key => $val) {        $lect->join($key, $val[0], $val[1]);      }    }    //echo $lect."<br/>";    //echo $lect;exit;        $result = $db->fetchall($lect);    foreach ($result as $key => $value) {      foreach ($value as $key2 => $value2) {        $result[$key][$key2] = $this->槛是什么意思convert2utf8($value2);      }    }    return $result;  } 学生会述职报告     /**   * 向表中插入数据   * array $adata 数据 中国阅兵式高清完整版  * string $table 表名   * int $insterid 是否需要返回插入id   * @return true or fal or int   */   // @bianding 2013.11.04 更改了pdo中mssql.php的lastinrtid()函数   // @bianding 2013.11.04 经测试 mssql.php中的lastinrtid()函数中的lect两种方式都行  function savedata($adata, $table, $insterid = 0, $alog = fal) {    $db = & $this->getadapter();    foreach ($adata as $key => $value) {      $adata[$key] = $this->convert2gbk($value);    }    if ($db->inrt($table, $adata)) {      //var_dump($db->getprofiler());      $inrtedid = $db->lastinrtid();            if ($insterid) {        return $inrtedid;      } el {        return true;      }    } el {      return fal;    }  }  /**   * 删除表中数据   *    * @param string $table 表名   * @param string $where 'id ='.$id 条件   * @return true or fal   */  function deldata($table, $where, $alog = fal) {    $db = & $this->getadapter();    if ($db->delete($table, $where)) {      return true;    } el {      return fal;    }  }  /**   * 更新表中数据   *   * @param string $table   * @param array $adata   * @param string $where 'id ='.$id   * @return true or fal   */  function updatedata($table, $adata, $cond, $alog = fal) {    $db = & $this->getadapter();    foreach ($adata as $key => $value) {      $adata[$key] = $this->convert2gbk($valu冬天的诗句e);    }    if ($db->update($table, $adata, $cond)) {      return true;    } el {      return fal;    }  }  public function cleartable($table) {    $db = &$this->getadapter();    $result = $db->query('truncate table ' . $table);  }  public function executesql($strsql) {    $db = &$this->getadapter();    $result = $db->query($strsql);  }    function convert2utf8($string)  {    return iconv("gbk","utf-8",$string);  }  function convert2gbk($string)  {    return iconv("utf-8","gbk",$string);  }}

sqlrver 建库指定utf-8 修改库为utf沸组词语-8编码

create databa paas collate chine_prc_ci_as
go
alter databa paas collate chine_prc_ci_as
go

让asp和ms sql rver支持utf-8编码存储多国语言文字

近日在asp+ms sql存储utf-8编码内容的时候,出现乱码的情况,经过查询发现要使sql rver支持utf-8编码格式,必须做一些修改才可以。

1、确保asp页面是utf-8编码的,并在asp页面顶部声明中使用<%@ language = vbscript codepage = 65001%>进行编码声明

2、输出的html页面中声明字符集:<meta http-equiv=”content-type” content=”text/html; chart=utf-8″/>

3、在进行url参数传递的时候,要使用rver.urlencode()方法进行编码

4、使用js进行url参数传递中文的时候,要使用escape进行编码

5、在将utf-8编码的内容存入sql rver数据库中的时候,要存储的字段必须设置为nvarchar类型,sql语句要在内容前加n表示,如inrt into ur (name) values (n´&urname&´),除id意外的字段都需要加n。

本文发布于:2023-04-08 15:17:24,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/zuowen/8d338520d231b5f6ea656e0934eeb435.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

本文word下载地址:SQL server不支持utf8 php却用utf8的矛盾问题解决方法.doc

本文 PDF 下载地址:SQL server不支持utf8 php却用utf8的矛盾问题解决方法.pdf

标签:数据   要使   声明   页面
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图