千家信息网

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

发表于:2025-11-08 作者:千家信息网编辑
千家信息网最后更新 2025年11月08日,本篇文章给大家分享的是有关如何解决SQL server不支持utf8 php却用utf8的矛盾问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来
千家信息网最后更新 2025年11月08日如何解决SQL server不支持utf8 php却用utf8的矛盾问题

本篇文章给大家分享的是有关如何解决SQL server不支持utf8 php却用utf8的矛盾问题,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

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

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

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

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

getAdapter();  }  public function getData($table,$where = false, $order = 'id ASC', $pagesize = false, $offset = false, $count = false, $from = false, $join = false, $group = false) {    $db = &$this->getAdapter();    $select = $db->select();        if ($where && is_array($where)) {      foreach ($where as $key => $val) {        //print_r($where);        if($val['type']==1){          $select->where($key, $val['val']);        }else{          $select->orwhere($key, $val['val']);        }              }     }    if (!$from)      $from = '*';    //echo $select."
"; if ($pagesize) { $select->limit($pagesize, $offset); } //echo $select."
"; if (is_array($order)) { foreach ($order as $value) { $select->order($value); } } else { $select->order($order); } //echo $select."
"; $select->from($table, $count ? "COUNT(".$table.".id)" : $from); if (is_array($group)) { foreach ($group as $key => $val) { $select->group($val); } if ($count) { $result = $db->fetchAll($select); //echo $select."
"; return $result; } } else { if ($count) { $result = $db->fetchOne($select); //echo $select."
"; return $result; } } if (is_array($join)) { foreach ($join as $key => $val) { $select->join($key, $val[0], $val[1]); } } //echo $select."
"; //echo $select;exit; $result = $db->fetchAll($select); 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 false or int */ // @bianding 2013.11.04 更改了pdo中mssql.php的lastInsertId()函数 // @bianding 2013.11.04 经测试 mssql.php中的lastInsertId()函数中的SELECT两种方式都行 function SaveData($adata, $table, $insterid = 0, $aLog = false) { $db = & $this->getAdapter(); foreach ($adata as $key => $value) { $adata[$key] = $this->convert2gbk($value); } if ($db->insert($table, $adata)) { //var_dump($db->getProfiler()); $insertedID = $db->lastInsertId(); if ($insterid) { return $insertedID; } else { return TRUE; } } else { return false; } } /** * 删除表中数据 * * @param string $table 表名 * @param string $where 'id ='.$id 条件 * @return true or false */ function DelData($table, $where, $aLog = false) { $db = & $this->getAdapter(); if ($db->delete($table, $where)) { return TRUE; } else { return FALSE; } } /** * 更新表中数据 * * @param string $table * @param array $adata * @param string $where 'id ='.$id * @return true or false */ function UpdateData($table, $adata, $cond, $aLog = false) { $db = & $this->getAdapter(); foreach ($adata as $key => $value) { $adata[$key] = $this->convert2gbk($value); } if ($db->update($table, $adata, $cond)) { return TRUE; } else { return false; } } 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); }}

sqlserver 建库指定utf-8 修改库为utf-8编码

CREATE DATABASE paas COLLATE Chinese_PRC_CI_AS
GO
ALTER DATABASE paas COLLATE Chinese_PRC_CI_AS
GO

让ASP和MS SQL SERVER支持UTF-8编码存储多国语言文字

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

1、确保ASP页面是UTF-8编码的,并在ASP页面顶部声明中使用<%@ LANGUAGE = VBScript CodePage = 65001%>进行编码声明

2、输出的HTML页面中声明字符集:

3、在进行URL参数传递的时候,要使用Server.URLEncode()方法进行编码

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

5、在将UTF-8编码的内容存入SQL SERVER数据库中的时候,要存储的字段必须设置为NVARCHAR类型,SQL语句要在内容前加N表示,如insert into user (name) values (N´&username&´),除id意外的字段都需要加N。

以上就是如何解决SQL server不支持utf8 php却用utf8的矛盾问题,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注行业资讯频道。

数据 编码 utf-8 时候 UTF-8 支持 内容 页面 存储 矛盾 问题 函数 参数 字段 数据库 方法 更多 知识 篇文章 实用 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 家用网络技术有限公司 网络技术专业女生就业岗位 软件开发自学步骤java 江苏售后管理软件开发 重庆渝北食堂配送软件开发 学籍管理系统软件开发 路由dns服务器异常是怎么回事 为什么一进联盟就无法连接服务器 海康威视系统上的数据库怎么用 杭州未来科技城除了互联网还有啥 游戏服务器的网络 跟阿里云 手机正常怎么还显示连接服务器 vb所允许的数据库 数据库频繁读写 湖南机架式服务器价格 搭建一个服务器需要什么配置 网络安全管理实习报告总结 模拟分析你家网络安全隐患 浪潮服务器通达海内存插 绝对演绎怎么注销服务器 软件开发公司全盘帐 苏州湖畔科技网络技术有限公司 我的世界服务器定时开关插件 网络安全功放场景库 网络安全小说广告 北仑一站式软件开发管理 怎么重新加载怪物数据库 四川超频服务器价格 上海自如互联网科技 服务器机房一般多大
0